<!-- HTML header for doxygen 1.8.14-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="cache-control" content="max-age=86400"/>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>GBDK 2020 Docs: gbdk-lib/include/sms/sms.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">GBDK 2020 Docs
   &#160;<span id="projectnumber">4.4.0</span>
   </div>
   <div id="projectbrief">API Documentation for GBDK 2020</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('sms_8h.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">sms.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;types.h&gt;</code><br />
<code>#include &lt;<a class="el" href="stdint_8h_source.html">stdint.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="version_8h_source.html">gbdk/version.h</a>&gt;</code><br />
<code>#include &lt;<a class="el" href="sms_2hardware_8h_source.html">sms/hardware.h</a>&gt;</code><br />
</div>
<p><a href="sms_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjoypads__t.html">joypads_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a19e5fbd76b85bf708ec31d55905fc537"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a19e5fbd76b85bf708ec31d55905fc537">SEGA</a></td></tr>
<tr class="separator:a19e5fbd76b85bf708ec31d55905fc537"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99bca2df4c6fde16a659797b4e584036"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a99bca2df4c6fde16a659797b4e584036">SYSTEM_60HZ</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="separator:a99bca2df4c6fde16a659797b4e584036"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6329c19927cf02579e2503e40c0bbde"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad6329c19927cf02579e2503e40c0bbde">SYSTEM_50HZ</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:ad6329c19927cf02579e2503e40c0bbde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc34abf062d8e3be88170ac106f197f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6bc34abf062d8e3be88170ac106f197f">VBK_REG</a>&#160;&#160;&#160;<a class="el" href="sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f">VDP_ATTR_SHIFT</a></td></tr>
<tr class="separator:a6bc34abf062d8e3be88170ac106f197f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05ca817ab32f6da612c3ae26db5abf02"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a05ca817ab32f6da612c3ae26db5abf02">J_UP</a>&#160;&#160;&#160;0b00000001</td></tr>
<tr class="separator:a05ca817ab32f6da612c3ae26db5abf02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae032c5c544196e37ec0432f6cfad7904"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae032c5c544196e37ec0432f6cfad7904">J_DOWN</a>&#160;&#160;&#160;0b00000010</td></tr>
<tr class="separator:ae032c5c544196e37ec0432f6cfad7904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac70894fecac30c1ca9917f07373cf81c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ac70894fecac30c1ca9917f07373cf81c">J_LEFT</a>&#160;&#160;&#160;0b00000100</td></tr>
<tr class="separator:ac70894fecac30c1ca9917f07373cf81c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bad91d11ae09ffcbb3cb0a81873d325"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3bad91d11ae09ffcbb3cb0a81873d325">J_RIGHT</a>&#160;&#160;&#160;0b00001000</td></tr>
<tr class="separator:a3bad91d11ae09ffcbb3cb0a81873d325"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae47e59a309120f9420993f26816b5e6d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae47e59a309120f9420993f26816b5e6d">J_B</a>&#160;&#160;&#160;0b00010000</td></tr>
<tr class="separator:ae47e59a309120f9420993f26816b5e6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a31af766e3b598eb7a6b63f55a4988e7a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a31af766e3b598eb7a6b63f55a4988e7a">J_A</a>&#160;&#160;&#160;0b00100000</td></tr>
<tr class="separator:a31af766e3b598eb7a6b63f55a4988e7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab769c6e20778298be8bc3321476ceb53"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab769c6e20778298be8bc3321476ceb53">J_START</a>&#160;&#160;&#160;0b01000000</td></tr>
<tr class="separator:ab769c6e20778298be8bc3321476ceb53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab416a9d96d1582490828f4bac78a8b5b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab416a9d96d1582490828f4bac78a8b5b">J_SELECT</a>&#160;&#160;&#160;0b10000000</td></tr>
<tr class="separator:ab416a9d96d1582490828f4bac78a8b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0e30d6af308ffe5a025fbe85da40f6f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f">M_TEXT_OUT</a>&#160;&#160;&#160;0x02U</td></tr>
<tr class="separator:af0e30d6af308ffe5a025fbe85da40f6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a908826e7180f94a5988ceb8633313a2e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a908826e7180f94a5988ceb8633313a2e">M_TEXT_INOUT</a>&#160;&#160;&#160;0x03U</td></tr>
<tr class="separator:a908826e7180f94a5988ceb8633313a2e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a04382de20738146fe873ddfb0585052b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a04382de20738146fe873ddfb0585052b">M_NO_SCROLL</a>&#160;&#160;&#160;0x04U</td></tr>
<tr class="separator:a04382de20738146fe873ddfb0585052b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca2855edd2d28f66be551a0f7ec23f07"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07">M_NO_INTERP</a>&#160;&#160;&#160;0x08U</td></tr>
<tr class="separator:aca2855edd2d28f66be551a0f7ec23f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33caf10f6d1a7cbb6bd07b899c1a545f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a33caf10f6d1a7cbb6bd07b899c1a545f">S_BANK</a>&#160;&#160;&#160;0x01U</td></tr>
<tr class="separator:a33caf10f6d1a7cbb6bd07b899c1a545f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae97793b4039609f93b0f7f8bddb18011"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae97793b4039609f93b0f7f8bddb18011">S_FLIPX</a>&#160;&#160;&#160;0x02U</td></tr>
<tr class="separator:ae97793b4039609f93b0f7f8bddb18011"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bbb9cd6c38b2317de5256d1d889c63b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4bbb9cd6c38b2317de5256d1d889c63b">S_FLIPY</a>&#160;&#160;&#160;0x04U</td></tr>
<tr class="separator:a4bbb9cd6c38b2317de5256d1d889c63b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54572cf6791463b6d60623837e0bb5a6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a54572cf6791463b6d60623837e0bb5a6">S_PALETTE</a>&#160;&#160;&#160;0x08U</td></tr>
<tr class="separator:a54572cf6791463b6d60623837e0bb5a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9506d04c2ec7d2442a52054f67d2b32f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9506d04c2ec7d2442a52054f67d2b32f">S_PRIORITY</a>&#160;&#160;&#160;0x10U</td></tr>
<tr class="separator:a9506d04c2ec7d2442a52054f67d2b32f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a826169925ff12d52f0a0d51f14d2936b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a826169925ff12d52f0a0d51f14d2936b">S_PAL</a>(n)&#160;&#160;&#160;(((n) &amp; 0x01U) &lt;&lt; 3)</td></tr>
<tr class="separator:a826169925ff12d52f0a0d51f14d2936b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63369a199a979eb3dbba71449659148d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a63369a199a979eb3dbba71449659148d">__WRITE_VDP_REG_UNSAFE</a>(REG,  v)&#160;&#160;&#160;shadow_##REG=(v),VDP_CMD=(shadow_##REG),VDP_CMD=REG</td></tr>
<tr class="separator:a63369a199a979eb3dbba71449659148d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa34282113397af810be737df1acec36c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(REG,  v)&#160;&#160;&#160;shadow_##REG=(v);__asm__(&quot;di&quot;);VDP_CMD=(shadow_##REG);VDP_CMD=REG;__asm__(&quot;ei&quot;)</td></tr>
<tr class="separator:aa34282113397af810be737df1acec36c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a964e713cb2535d7464d0d6ca7677049a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(REG)&#160;&#160;&#160;shadow_##REG</td></tr>
<tr class="separator:a964e713cb2535d7464d0d6ca7677049a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa027abe630d44039f238034bcb2d2f36"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa027abe630d44039f238034bcb2d2f36">EMPTY_IFLAG</a>&#160;&#160;&#160;0x00U</td></tr>
<tr class="separator:aa027abe630d44039f238034bcb2d2f36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ca7720b9a5da9b2173e1f74dba85541"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2ca7720b9a5da9b2173e1f74dba85541">VBL_IFLAG</a>&#160;&#160;&#160;0x01U</td></tr>
<tr class="separator:a2ca7720b9a5da9b2173e1f74dba85541"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61a9e2910380de6abb34df14ef634eb4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a61a9e2910380de6abb34df14ef634eb4">LCD_IFLAG</a>&#160;&#160;&#160;0x02U</td></tr>
<tr class="separator:a61a9e2910380de6abb34df14ef634eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a604256210ec5b90b68185e1a18efab49"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a>&#160;&#160;&#160;0x04U</td></tr>
<tr class="separator:a604256210ec5b90b68185e1a18efab49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad90564458646c5646b3880b93db3443e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a>&#160;&#160;&#160;0x08U</td></tr>
<tr class="separator:ad90564458646c5646b3880b93db3443e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f829cf27d6e3e24c875e9b82dfcb280"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280">JOY_IFLAG</a>&#160;&#160;&#160;0x10U</td></tr>
<tr class="separator:a2f829cf27d6e3e24c875e9b82dfcb280"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada0cc738d27aad251151e69cb8d250e1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ada0cc738d27aad251151e69cb8d250e1">SCREENWIDTH</a>&#160;&#160;&#160;<a class="el" href="sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d">DEVICE_SCREEN_PX_WIDTH</a></td></tr>
<tr class="separator:ada0cc738d27aad251151e69cb8d250e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae189e98d0ef9263c37869ce1ff3710a5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae189e98d0ef9263c37869ce1ff3710a5">SCREENHEIGHT</a>&#160;&#160;&#160;<a class="el" href="sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec">DEVICE_SCREEN_PX_HEIGHT</a></td></tr>
<tr class="separator:ae189e98d0ef9263c37869ce1ff3710a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a796bbf3e4347d914b83568350143a9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5a796bbf3e4347d914b83568350143a9">MINWNDPOSX</a>&#160;&#160;&#160;0x00U</td></tr>
<tr class="separator:a5a796bbf3e4347d914b83568350143a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3d632ba2d7cef6619df5dfea8730909"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af3d632ba2d7cef6619df5dfea8730909">MINWNDPOSY</a>&#160;&#160;&#160;0x00U</td></tr>
<tr class="separator:af3d632ba2d7cef6619df5dfea8730909"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dffb66ec1b1d9bb380a1af52a601ec5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6dffb66ec1b1d9bb380a1af52a601ec5">MAXWNDPOSX</a>&#160;&#160;&#160;0x00U</td></tr>
<tr class="separator:a6dffb66ec1b1d9bb380a1af52a601ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad57f2f8c54204687f02801d8ab1bd150"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad57f2f8c54204687f02801d8ab1bd150">MAXWNDPOSY</a>&#160;&#160;&#160;0x00U</td></tr>
<tr class="separator:ad57f2f8c54204687f02801d8ab1bd150"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ae6b05b3e1559c97f0d1b2daaaa0ee4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">DISPLAY_ON</a>&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f">R1_DISP_ON</a>)</td></tr>
<tr class="separator:a5ae6b05b3e1559c97f0d1b2daaaa0ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2ec9831813c5e7069917aa4455af682"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad2ec9831813c5e7069917aa4455af682">DISPLAY_OFF</a>&#160;&#160;&#160;	<a class="el" href="sms_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a>();</td></tr>
<tr class="separator:ad2ec9831813c5e7069917aa4455af682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0659212acd317ccdebc0ecf435df330f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0659212acd317ccdebc0ecf435df330f">HIDE_LEFT_COLUMN</a>&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>) |= <a class="el" href="sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b">R0_LCB</a>)</td></tr>
<tr class="separator:a0659212acd317ccdebc0ecf435df330f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5497c2255a9474d397446710189eacbe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5497c2255a9474d397446710189eacbe">SHOW_LEFT_COLUMN</a>&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>) &amp;= (~<a class="el" href="sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b">R0_LCB</a>))</td></tr>
<tr class="separator:a5497c2255a9474d397446710189eacbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f3f7bd5879b807acbb203ce2aaa1e5d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3f3f7bd5879b807acbb203ce2aaa1e5d">SET_BORDER_COLOR</a>(C)&#160;&#160;&#160;<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638">VDP_R7</a>, ((C) | 0xf0u))</td></tr>
<tr class="separator:a3f3f7bd5879b807acbb203ce2aaa1e5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e3f36aa68ac036695816757f2a1322c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a></td></tr>
<tr class="separator:a8e3f36aa68ac036695816757f2a1322c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d25f7c43b1cbbb48b95cda7ab2c3141"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6d25f7c43b1cbbb48b95cda7ab2c3141">HIDE_BKG</a></td></tr>
<tr class="separator:a6d25f7c43b1cbbb48b95cda7ab2c3141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab19da2ab719bb8897bc0843a84af28f8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a></td></tr>
<tr class="separator:ab19da2ab719bb8897bc0843a84af28f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedb6e32c42d4b1d25ad11adccd7100c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a></td></tr>
<tr class="separator:aedb6e32c42d4b1d25ad11adccd7100c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a495bc9f405f916f02ad5d97e6e730134"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a495bc9f405f916f02ad5d97e6e730134">SHOW_SPRITES</a>&#160;&#160;&#160;    (<a class="el" href="sms_8h.html#a536a0cd7b1a9340eec355d60bd0348cc">_sprites_OFF</a> = 0)</td></tr>
<tr class="separator:a495bc9f405f916f02ad5d97e6e730134"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69ef98aee664b8abd8d1a3d45f016dda"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a69ef98aee664b8abd8d1a3d45f016dda">HIDE_SPRITES</a>&#160;&#160;&#160;    (<a class="el" href="sms_8h.html#a536a0cd7b1a9340eec355d60bd0348cc">_sprites_OFF</a> = 1)</td></tr>
<tr class="separator:a69ef98aee664b8abd8d1a3d45f016dda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af91d252f07f4764996154820f970c101"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af91d252f07f4764996154820f970c101">SPRITES_8x16</a>&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12">R1_SPR_8X16</a>)</td></tr>
<tr class="separator:af91d252f07f4764996154820f970c101"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa87bec0d134136fdb727f52cb773b792"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa87bec0d134136fdb727f52cb773b792">SPRITES_8x8</a>&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) &amp;= (~<a class="el" href="sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12">R1_SPR_8X16</a>))</td></tr>
<tr class="separator:aa87bec0d134136fdb727f52cb773b792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a231ec05679809190782e61c6e8aaaba4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a231ec05679809190782e61c6e8aaaba4">DEVICE_SUPPORTS_COLOR</a>&#160;&#160;&#160;(<a class="el" href="types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>)</td></tr>
<tr class="separator:a231ec05679809190782e61c6e8aaaba4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a559dbd32dba6867c1ee4e481077b62ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a559dbd32dba6867c1ee4e481077b62ab">VBL_DONE</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a379ebafd4dc456a9a0c10290bb38fe7c">_vbl_done</a></td></tr>
<tr class="separator:a559dbd32dba6867c1ee4e481077b62ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2032c420256dfa5c5c62fe73841fa56d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2032c420256dfa5c5c62fe73841fa56d">DIV_REG</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a8824313c4053d770df23c3233b6cde33">get_r_reg</a>()</td></tr>
<tr class="separator:a2032c420256dfa5c5c62fe73841fa56d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af0d15cf2a26924d2ef00ac4017e6b1d8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af0d15cf2a26924d2ef00ac4017e6b1d8">_current_bank</a>&#160;&#160;&#160;MAP_FRAME1</td></tr>
<tr class="separator:af0d15cf2a26924d2ef00ac4017e6b1d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae042588f20bf5a2349c8ad8716245233"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae042588f20bf5a2349c8ad8716245233">CURRENT_BANK</a>&#160;&#160;&#160;MAP_FRAME1</td></tr>
<tr class="separator:ae042588f20bf5a2349c8ad8716245233"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42705001e2b9897f5167b67fb36c69dd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK</a>(VARNAME)&#160;&#160;&#160;( (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>) &amp; __bank_ ## VARNAME )</td></tr>
<tr class="separator:a42705001e2b9897f5167b67fb36c69dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a086293f2afb4c7945460a4496b20aea3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF</a>(VARNAME)</td></tr>
<tr class="separator:a086293f2afb4c7945460a4496b20aea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a261bba55a07b802baf99346feadd9852"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a261bba55a07b802baf99346feadd9852">BANKREF_EXTERN</a>(VARNAME)&#160;&#160;&#160;extern const void __bank_ ## VARNAME;</td></tr>
<tr class="separator:a261bba55a07b802baf99346feadd9852"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af61262bbc05629f31020afce67e1b9ea"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af61262bbc05629f31020afce67e1b9ea">SWITCH_ROM</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)&#160;&#160;&#160;MAP_FRAME1=(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td></tr>
<tr class="separator:af61262bbc05629f31020afce67e1b9ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86d47feb2b999aaabbba9f63f4bb3567"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a86d47feb2b999aaabbba9f63f4bb3567">SWITCH_ROM1</a>&#160;&#160;&#160;<a class="el" href="msx_8h.html#ac996706e2a5e73f010841437f26d4d4f">SWITCH_ROM</a></td></tr>
<tr class="separator:a86d47feb2b999aaabbba9f63f4bb3567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d40a15ff27c2a1c8269d3dbe67eae65"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6d40a15ff27c2a1c8269d3dbe67eae65">SWITCH_ROM2</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)&#160;&#160;&#160;MAP_FRAME2=(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td></tr>
<tr class="separator:a6d40a15ff27c2a1c8269d3dbe67eae65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a121feb0c32d124562f52398aa9656e7b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a121feb0c32d124562f52398aa9656e7b">SWITCH_RAM</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)&#160;&#160;&#160;RAM_CONTROL=((<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)&amp;1)?RAM_CONTROL|RAMCTL_BANK:RAM_CONTROL&amp;(~<a class="el" href="sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca">RAMCTL_BANK</a>)</td></tr>
<tr class="separator:a121feb0c32d124562f52398aa9656e7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e9c88657beaac946231a4801481b97f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0e9c88657beaac946231a4801481b97f">ENABLE_RAM</a>&#160;&#160;&#160;RAM_CONTROL|=<a class="el" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d">RAMCTL_RAM</a></td></tr>
<tr class="separator:a0e9c88657beaac946231a4801481b97f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a649d27b5587de16a66176e03a1b8ebd5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a649d27b5587de16a66176e03a1b8ebd5">DISABLE_RAM</a>&#160;&#160;&#160;RAM_CONTROL&amp;=(~<a class="el" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d">RAMCTL_RAM</a>)</td></tr>
<tr class="separator:a649d27b5587de16a66176e03a1b8ebd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2215732f2ba2ec6406b65d3cca56a200"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200">set_bkg_palette_entry</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a></td></tr>
<tr class="separator:a2215732f2ba2ec6406b65d3cca56a200"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5c17235a3f65af70492e109a25f237"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8b5c17235a3f65af70492e109a25f237">set_sprite_palette_entry</a>(palette,  entry,  rgb_data)&#160;&#160;&#160;<a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a>(1,entry,rgb_data)</td></tr>
<tr class="separator:a8b5c17235a3f65af70492e109a25f237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f879bd31899f7989f887b6238de24e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9f879bd31899f7989f887b6238de24e3">set_bkg_palette</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#af288f3b302839006d33d38755d922de0">set_palette</a></td></tr>
<tr class="separator:a9f879bd31899f7989f887b6238de24e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d5ed1aed79d8fd2894893d7f6f9b835"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835">set_sprite_palette</a>(first_palette,  nb_palettes,  rgb_data)&#160;&#160;&#160;<a class="el" href="sms_8h.html#af288f3b302839006d33d38755d922de0">set_palette</a>(1,1,rgb_data)</td></tr>
<tr class="separator:a7d5ed1aed79d8fd2894893d7f6f9b835"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67f80e65620470b55a4950e2966eb868"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a67f80e65620470b55a4950e2966eb868">COMPAT_PALETTE</a>(C0,  C1,  C2,  C3)&#160;&#160;&#160;(((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C3) &lt;&lt; 12) | ((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C2) &lt;&lt; 8) | ((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C1) &lt;&lt; 4) | (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C0))</td></tr>
<tr class="separator:a67f80e65620470b55a4950e2966eb868"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a732aec1b7aec7d10a9d76ca4da2064"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9a732aec1b7aec7d10a9d76ca4da2064">set_bkg_tiles</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a70e78513df5998b7e69e377868ac0622">set_tile_map_compat</a></td></tr>
<tr class="separator:a9a732aec1b7aec7d10a9d76ca4da2064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a429db030287423012f40a6dca81ae7e3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a429db030287423012f40a6dca81ae7e3">set_win_tiles</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a70e78513df5998b7e69e377868ac0622">set_tile_map_compat</a></td></tr>
<tr class="separator:a429db030287423012f40a6dca81ae7e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b7ffab8d64e2c345f03221145a935c0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3b7ffab8d64e2c345f03221145a935c0">fill_bkg_rect</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a19b48c3eaea43e4e63a34066803bb332">fill_rect_compat</a></td></tr>
<tr class="separator:a3b7ffab8d64e2c345f03221145a935c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a69a3129f4faa99857a8b3d80db1d4a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5a69a3129f4faa99857a8b3d80db1d4a">fill_win_rect</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a19b48c3eaea43e4e63a34066803bb332">fill_rect_compat</a></td></tr>
<tr class="separator:a5a69a3129f4faa99857a8b3d80db1d4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abfd70bf31185a4900680977c9fb5a5ec"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abfd70bf31185a4900680977c9fb5a5ec">DISABLE_VBL_TRANSFER</a>&#160;&#160;&#160;    <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = 0</td></tr>
<tr class="separator:abfd70bf31185a4900680977c9fb5a5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77d516c9d3f86f100eddea5e0d133a76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a77d516c9d3f86f100eddea5e0d133a76">ENABLE_VBL_TRANSFER</a>&#160;&#160;&#160;    <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)&amp;<a class="el" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a> &gt;&gt; 8)</td></tr>
<tr class="separator:a77d516c9d3f86f100eddea5e0d133a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b77608c87a9aef65a03531482b2163b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8b77608c87a9aef65a03531482b2163b">MAX_HARDWARE_SPRITES</a>&#160;&#160;&#160;64</td></tr>
<tr class="separator:a8b77608c87a9aef65a03531482b2163b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc296eacbda6a42f2a71aacab376ceb7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#afc296eacbda6a42f2a71aacab376ceb7">HARDWARE_SPRITE_CAN_FLIP_X</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:afc296eacbda6a42f2a71aacab376ceb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9119d69d971f6bee9e55d0df8f0ac983"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9119d69d971f6bee9e55d0df8f0ac983">HARDWARE_SPRITE_CAN_FLIP_Y</a>&#160;&#160;&#160;0</td></tr>
<tr class="separator:a9119d69d971f6bee9e55d0df8f0ac983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcd40a58f7c7d348d506cc400cd94739"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#adcd40a58f7c7d348d506cc400cd94739">set_bkg_tile_xy</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td></tr>
<tr class="separator:adcd40a58f7c7d348d506cc400cd94739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95d929d964d9988f4dc5a25ed399ae08"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a95d929d964d9988f4dc5a25ed399ae08">set_win_tile_xy</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td></tr>
<tr class="separator:a95d929d964d9988f4dc5a25ed399ae08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5a69c2f61a3b7e8656548132a872d7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4d5a69c2f61a3b7e8656548132a872d7">set_bkg_attribute_xy</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a894d9359851846028d9974471922cb1e">set_attribute_xy</a></td></tr>
<tr class="separator:a4d5a69c2f61a3b7e8656548132a872d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1567f34688e1cf28ba97b1817f2f726c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1567f34688e1cf28ba97b1817f2f726c">set_win_attribute_xy</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a894d9359851846028d9974471922cb1e">set_attribute_xy</a></td></tr>
<tr class="separator:a1567f34688e1cf28ba97b1817f2f726c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6eaafdbe6cf1695d30724ce75acb9412"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6eaafdbe6cf1695d30724ce75acb9412">get_win_xy_addr</a>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a></td></tr>
<tr class="separator:a6eaafdbe6cf1695d30724ce75acb9412"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a9508f919d9482d1d51534ccac212454d"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>) (void) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td></tr>
<tr class="separator:a9508f919d9482d1d51534ccac212454d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a498b148efd22ab8ad9b844b2dc5e5bb8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a498b148efd22ab8ad9b844b2dc5e5bb8">WRITE_VDP_CMD</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> cmd) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:a498b148efd22ab8ad9b844b2dc5e5bb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2ddf9662320c4a9d00fd4a94d347570"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa2ddf9662320c4a9d00fd4a94d347570">WRITE_VDP_DATA</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> data) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:aa2ddf9662320c4a9d00fd4a94d347570"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ea524204d839377cf39842eec23e202"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> m) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr>
<tr class="separator:a3ea524204d839377cf39842eec23e202"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f49bc517509dbff3b7f8fae4373b1f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6f49bc517509dbff3b7f8fae4373b1f0">get_mode</a> (void) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a></td></tr>
<tr class="separator:a6f49bc517509dbff3b7f8fae4373b1f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4093fb5f45f807fe8d4a45121f3fffc5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4093fb5f45f807fe8d4a45121f3fffc5">get_system</a> (void)</td></tr>
<tr class="separator:a4093fb5f45f807fe8d4a45121f3fffc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefda0091b2934571a11e07b512735f50"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> flags) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:aefda0091b2934571a11e07b512735f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98f7ef49e1758c601979bcb0ff19a1f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a98f7ef49e1758c601979bcb0ff19a1f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8962b27b960bb0c8d3bb899246c690c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa8962b27b960bb0c8d3bb899246c690c">remove_LCD</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:aa8962b27b960bb0c8d3bb899246c690c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98785a1b0ddc91cd8e8c8fab8de1de20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a98785a1b0ddc91cd8e8c8fab8de1de20">remove_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a98785a1b0ddc91cd8e8c8fab8de1de20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98de9141f407585801fcbf55bf6dcc4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a98de9141f407585801fcbf55bf6dcc4c">remove_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a98de9141f407585801fcbf55bf6dcc4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a35a3ff12ab34534b763517576afe38a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a35a3ff12ab34534b763517576afe38a6">remove_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a35a3ff12ab34534b763517576afe38a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae59628e2237f301df1341e22bfc8296e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></td></tr>
<tr class="separator:ae59628e2237f301df1341e22bfc8296e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51add93356a25c71e8c37a73c9065c9d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:a51add93356a25c71e8c37a73c9065c9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c66a583a8f0744e3985c89725e3dc10"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6c66a583a8f0744e3985c89725e3dc10">add_TIM</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a6c66a583a8f0744e3985c89725e3dc10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3372d61a07e0466bdb909a27f3aaaca9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3372d61a07e0466bdb909a27f3aaaca9">add_SIO</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a3372d61a07e0466bdb909a27f3aaaca9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48163816121cd669526817d3e6266fd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a48163816121cd669526817d3e6266fd9">add_JOY</a> (<a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a48163816121cd669526817d3e6266fd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade1cd2eab862b0e479415288964b3d63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ade1cd2eab862b0e479415288964b3d63">cancel_pending_interrupts</a> (void)</td></tr>
<tr class="separator:ade1cd2eab862b0e479415288964b3d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6261537edc74068e3f7f057e6a3e8a57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6261537edc74068e3f7f057e6a3e8a57">move_bkg</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr>
<tr class="separator:a6261537edc74068e3f7f057e6a3e8a57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f583f7a880daa6145ca78b086a209d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1f583f7a880daa6145ca78b086a209d1">scroll_bkg</a> (<a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y)</td></tr>
<tr class="separator:a1f583f7a880daa6145ca78b086a209d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af57b77452ef377da18e4fbf0288013d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af57b77452ef377da18e4fbf0288013d1">vsync</a> (void) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:af57b77452ef377da18e4fbf0288013d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a815f8ecad32d14b786a8ed1168518773"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a815f8ecad32d14b786a8ed1168518773">wait_vbl_done</a> (void) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:a815f8ecad32d14b786a8ed1168518773"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe5714734a8fea7b1617ba377b3c0a06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a> (void)</td></tr>
<tr class="separator:afe5714734a8fea7b1617ba377b3c0a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac23dbe69b5ee241af2da4f77bb580fa5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ac23dbe69b5ee241af2da4f77bb580fa5">refresh_OAM</a> (void)</td></tr>
<tr class="separator:ac23dbe69b5ee241af2da4f77bb580fa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8824313c4053d770df23c3233b6cde33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8824313c4053d770df23c3233b6cde33">get_r_reg</a> (void) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:a8824313c4053d770df23c3233b6cde33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a217232c82eb5f99f7639b5786ce5abc6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a217232c82eb5f99f7639b5786ce5abc6">delay</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> <a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a>) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a></td></tr>
<tr class="separator:a217232c82eb5f99f7639b5786ce5abc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d30da8cdcfa644b7f6dc331cce6de5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5d30da8cdcfa644b7f6dc331cce6de5b">joypad</a> (void) <a class="el" href="asm_2types_8h.html#a0971918860055db2e50dacea4da8f3bc">OLDCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:a5d30da8cdcfa644b7f6dc331cce6de5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd20be39843ecb38e8023fd35bb4aafc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#acd20be39843ecb38e8023fd35bb4aafc">waitpad</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> mask) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></td></tr>
<tr class="separator:acd20be39843ecb38e8023fd35bb4aafc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebc8751fa428e9845ea25b1060ebe772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aebc8751fa428e9845ea25b1060ebe772">waitpadup</a> (void) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></td></tr>
<tr class="separator:aebc8751fa428e9845ea25b1060ebe772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe90cc2b5bb10c0ed9e01e548ddf8862"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> npads, <a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:abe90cc2b5bb10c0ed9e01e548ddf8862"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d45c65829490c5ec98362f5e60edc20"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a> (<a class="el" href="structjoypads__t.html">joypads_t</a> *joypads) <a class="el" href="asm_2z80_2types_8h.html#af45e54cf59a5202abc9125c07b64abf1">Z88DK_FASTCALL</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a1d45c65829490c5ec98362f5e60edc20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad3a9797fd6d216671b5bbaccd8a4916"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aad3a9797fd6d216671b5bbaccd8a4916">enable_interrupts</a> (void) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a</td></tr>
<tr class="separator:aad3a9797fd6d216671b5bbaccd8a4916"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3e53d15b4fc64f43761f55c1793b490"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ae3e53d15b4fc64f43761f55c1793b490">disable_interrupts</a> (void) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(a</td></tr>
<tr class="separator:ae3e53d15b4fc64f43761f55c1793b490"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a89f4110072dbe76805e7b07299788d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2a89f4110072dbe76805e7b07299788d">set_default_palette</a> (void)</td></tr>
<tr class="separator:a2a89f4110072dbe76805e7b07299788d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b334e5e452d0650aded17199be1514a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6b334e5e452d0650aded17199be1514a">cgb_compatibility</a> (void)</td></tr>
<tr class="separator:a6b334e5e452d0650aded17199be1514a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a871b5b1aba74ab8764f72b73bc090adb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a871b5b1aba74ab8764f72b73bc090adb">cpu_fast</a> (void)</td></tr>
<tr class="separator:a871b5b1aba74ab8764f72b73bc090adb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c9aabf4519e01257b0d0e04e8108164"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> palette, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> entry, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> rgb_data) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a2c9aabf4519e01257b0d0e04e8108164"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af288f3b302839006d33d38755d922de0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af288f3b302839006d33d38755d922de0">set_palette</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> first_palette, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb_palettes, const <a class="el" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *rgb_data) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:af288f3b302839006d33d38755d922de0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3464b51a1f7b1dc8303679c41c451503"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3464b51a1f7b1dc8303679c41c451503">set_native_tile_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a3464b51a1f7b1dc8303679c41c451503"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a551fa0b4eb3f30b067a6367a60472095"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a551fa0b4eb3f30b067a6367a60472095">set_bkg_4bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a551fa0b4eb3f30b067a6367a60472095"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ebee7e351b428caca006476e102186e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1ebee7e351b428caca006476e102186e">set_bkg_native_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a1ebee7e351b428caca006476e102186e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9f5644f83d1b513d83c14bf83a18ce6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad9f5644f83d1b513d83c14bf83a18ce6">set_sprite_4bpp_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:ad9f5644f83d1b513d83c14bf83a18ce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f173ca95fd7d8da06187d5704a04e7c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a3f173ca95fd7d8da06187d5704a04e7c">set_sprite_native_data</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src) <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a3f173ca95fd7d8da06187d5704a04e7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa224c9bac27c7fd268e62bdf33338a84"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa224c9bac27c7fd268e62bdf33338a84">set_2bpp_palette</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette)</td></tr>
<tr class="separator:aa224c9bac27c7fd268e62bdf33338a84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab752b1bb0f58da2a6d52e9747c4b3dd8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab752b1bb0f58da2a6d52e9747c4b3dd8">set_tile_2bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> palette) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:ab752b1bb0f58da2a6d52e9747c4b3dd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8130306da1177f4fef89e699f8e2add4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8130306da1177f4fef89e699f8e2add4">set_bkg_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr>
<tr class="separator:a8130306da1177f4fef89e699f8e2add4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a216a3e3d320ee4d8cf4845600487ae39"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a216a3e3d320ee4d8cf4845600487ae39">set_sprite_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr>
<tr class="separator:a216a3e3d320ee4d8cf4845600487ae39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7ba76e4d44dbf19da351fd1ea8e3023"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa7ba76e4d44dbf19da351fd1ea8e3023">set_bkg_2bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr>
<tr class="separator:aa7ba76e4d44dbf19da351fd1ea8e3023"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10ee2919fcab7a5c482816ed718d1c4a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a10ee2919fcab7a5c482816ed718d1c4a">set_sprite_2bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr>
<tr class="separator:a10ee2919fcab7a5c482816ed718d1c4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcb394299a1033616fc7d2faec8bd6ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#adcb394299a1033616fc7d2faec8bd6ad">set_1bpp_colors</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> fgcolor, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> bgcolor)</td></tr>
<tr class="separator:adcb394299a1033616fc7d2faec8bd6ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a747033606e041b45ae09b38fdb06b871"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a747033606e041b45ae09b38fdb06b871">set_tile_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> colors) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a747033606e041b45ae09b38fdb06b871"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5f74eed0489ebfdc2410ee3f9f7f04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4d5f74eed0489ebfdc2410ee3f9f7f04">set_bkg_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr>
<tr class="separator:a4d5f74eed0489ebfdc2410ee3f9f7f04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cc121fbeb5570248531b85a8f0b5b97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a2cc121fbeb5570248531b85a8f0b5b97">set_sprite_1bpp_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> start, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> ntiles, const void *src)</td></tr>
<tr class="separator:a2cc121fbeb5570248531b85a8f0b5b97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fe17423c7ef7c44f1ccff27d3afbebc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a8fe17423c7ef7c44f1ccff27d3afbebc">set_data</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a8fe17423c7ef7c44f1ccff27d3afbebc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33a749b14dfbd203c460e8d7f3500636"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a33a749b14dfbd203c460e8d7f3500636">vmemcpy</a> (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> dst, const void *src, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> size) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a33a749b14dfbd203c460e8d7f3500636"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e98c8da2e6eb8051e2ebbd418220a4f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4e98c8da2e6eb8051e2ebbd418220a4f">set_tile_map</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:a4e98c8da2e6eb8051e2ebbd418220a4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70e78513df5998b7e69e377868ac0622"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a70e78513df5998b7e69e377868ac0622">set_tile_map_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:a70e78513df5998b7e69e377868ac0622"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811c386cac0df2d260aacb5a43608be5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a811c386cac0df2d260aacb5a43608be5">set_bkg_based_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr>
<tr class="separator:a811c386cac0df2d260aacb5a43608be5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a739a212609ae60c9c56c095f96b4ea80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a739a212609ae60c9c56c095f96b4ea80">set_win_based_tiles</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr>
<tr class="separator:a739a212609ae60c9c56c095f96b4ea80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bcf384938628c4ab52e63b2df8f78f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0bcf384938628c4ab52e63b2df8f78f8">set_bkg_attributes</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *tiles)</td></tr>
<tr class="separator:a0bcf384938628c4ab52e63b2df8f78f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68843603e91db6f5c24fbd0f5b7da271"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a68843603e91db6f5c24fbd0f5b7da271">set_tile_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:a68843603e91db6f5c24fbd0f5b7da271"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77ffe1e9ec1736087ca4312550231198"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a77ffe1e9ec1736087ca4312550231198">set_tile_submap_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:a77ffe1e9ec1736087ca4312550231198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cfd261bc7a94b1f6093f423bad30298"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0cfd261bc7a94b1f6093f423bad30298">set_bkg_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</td></tr>
<tr class="separator:a0cfd261bc7a94b1f6093f423bad30298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb50a392ca0d0419a080413287ee5d79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abb50a392ca0d0419a080413287ee5d79">set_win_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</td></tr>
<tr class="separator:abb50a392ca0d0419a080413287ee5d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc8bc5808620a9717263b8c9ec2237f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#abc8bc5808620a9717263b8c9ec2237f0">set_bkg_based_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr>
<tr class="separator:abc8bc5808620a9717263b8c9ec2237f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b8a1026983cb2b2c0bd46334b4692a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1b8a1026983cb2b2c0bd46334b4692a0">set_win_based_submap</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> base_tile)</td></tr>
<tr class="separator:a1b8a1026983cb2b2c0bd46334b4692a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cefe143b3861632897e0c989401bce7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a1cefe143b3861632897e0c989401bce7">set_bkg_submap_attributes</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *map, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> map_w)</td></tr>
<tr class="separator:a1cefe143b3861632897e0c989401bce7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e3b7bf1729a6355bc72d202b6e0d1e6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a9e3b7bf1729a6355bc72d202b6e0d1e6">fill_rect</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:a9e3b7bf1729a6355bc72d202b6e0d1e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19b48c3eaea43e4e63a34066803bb332"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a19b48c3eaea43e4e63a34066803bb332">fill_rect_compat</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> w, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> <a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a>, const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> tile) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a></td></tr>
<tr class="separator:a19b48c3eaea43e4e63a34066803bb332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e0cdfd6b9a2ae1b7f30384f132d8687"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a7e0cdfd6b9a2ae1b7f30384f132d8687">SET_SHADOW_OAM_ADDRESS</a> (void *address)</td></tr>
<tr class="separator:a7e0cdfd6b9a2ae1b7f30384f132d8687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05bf0b9f1328de7b568a19a2a428bcfe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> tile)</td></tr>
<tr class="separator:a05bf0b9f1328de7b568a19a2a428bcfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5c0beff7d7a7d8641b51fd95c811b2a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af5c0beff7d7a7d8641b51fd95c811b2a">get_sprite_tile</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb)</td></tr>
<tr class="separator:af5c0beff7d7a7d8641b51fd95c811b2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99ea3252469e3614e977cce2aa1d06f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> prop)</td></tr>
<tr class="separator:a99ea3252469e3614e977cce2aa1d06f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b873c807c9e2c90fb574951e85fdf88"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6b873c807c9e2c90fb574951e85fdf88">get_sprite_prop</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb)</td></tr>
<tr class="separator:a6b873c807c9e2c90fb574951e85fdf88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab42c12c1d9aed3fd963248fbea9830cd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y)</td></tr>
<tr class="separator:ab42c12c1d9aed3fd963248fbea9830cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c59aa9a4f9ea42bed6ca6940b2741fe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a6c59aa9a4f9ea42bed6ca6940b2741fe">scroll_sprite</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> x, <a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a> y)</td></tr>
<tr class="separator:a6c59aa9a4f9ea42bed6ca6940b2741fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad22c51635d052399bbbe1777999c794d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ad22c51635d052399bbbe1777999c794d">hide_sprite</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> nb)</td></tr>
<tr class="separator:ad22c51635d052399bbbe1777999c794d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe1bc7117a68cd0939c2d03baaa06b89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *addr, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> v) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:afe1bc7117a68cd0939c2d03baaa06b89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a476f433ea736a1dd610490238f2a6250"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a476f433ea736a1dd610490238f2a6250">set_attributed_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> t) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a476f433ea736a1dd610490238f2a6250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5834057f6297c0fa8f8e9a6b714f1ff7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> t) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a5834057f6297c0fa8f8e9a6b714f1ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a894d9359851846028d9974471922cb1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a894d9359851846028d9974471922cb1e">set_attribute_xy</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> a) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a894d9359851846028d9974471922cb1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66b4bfb8c1ea3005ff01ce040a778e63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a> (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> x, <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> y) <a class="el" href="asm_2z80_2types_8h.html#aa19670cfef9fe1cc31f28fafb0e1000a">Z88DK_CALLEE</a> <a class="el" href="asm_2types_8h.html#acb825e83a33fcc06482c59b4ab2cf961">PRESERVES_REGS</a>(<a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:a66b4bfb8c1ea3005ff01ce040a778e63"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a735fc9fb4f089391a584293f2dff1008"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a735fc9fb4f089391a584293f2dff1008">_BIOS</a></td></tr>
<tr class="separator:a735fc9fb4f089391a584293f2dff1008"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78fd7730ed37db84f52bcfc9ff41873f"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a78fd7730ed37db84f52bcfc9ff41873f">_SYSTEM</a></td></tr>
<tr class="separator:a78fd7730ed37db84f52bcfc9ff41873f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3366755f3276b0243c1e0497471b7a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0b3366755f3276b0243c1e0497471b7a">c</a></td></tr>
<tr class="separator:a0b3366755f3276b0243c1e0497471b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a3d95ad0ab8ad213016101d2e9c3d3e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a0a3d95ad0ab8ad213016101d2e9c3d3e">d</a></td></tr>
<tr class="separator:a0a3d95ad0ab8ad213016101d2e9c3d3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeda4515a31485c9688c4601ac5ce2d79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aeda4515a31485c9688c4601ac5ce2d79">e</a></td></tr>
<tr class="separator:aeda4515a31485c9688c4601ac5ce2d79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aade844cba18122ad48cb2f92b1c87ab0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aade844cba18122ad48cb2f92b1c87ab0">iyh</a></td></tr>
<tr class="separator:aade844cba18122ad48cb2f92b1c87ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af279c752a3b15c4bd5c67f54b92e553f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af279c752a3b15c4bd5c67f54b92e553f">iyl</a></td></tr>
<tr class="separator:af279c752a3b15c4bd5c67f54b92e553f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba4fa6f13f80e53daeb0caa7b1ec8afb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aba4fa6f13f80e53daeb0caa7b1ec8afb">h</a></td></tr>
<tr class="separator:aba4fa6f13f80e53daeb0caa7b1ec8afb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af79b920bcb642bba2e652874c4f7eeff"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af79b920bcb642bba2e652874c4f7eeff">l</a></td></tr>
<tr class="separator:af79b920bcb642bba2e652874c4f7eeff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78d2fd18666afec116f176d46debb4e7"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a78d2fd18666afec116f176d46debb4e7">sys_time</a></td></tr>
<tr class="separator:a78d2fd18666afec116f176d46debb4e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a379ebafd4dc456a9a0c10290bb38fe7c"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a379ebafd4dc456a9a0c10290bb38fe7c">_vbl_done</a></td></tr>
<tr class="separator:a379ebafd4dc456a9a0c10290bb38fe7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c2e4adef74067fdbb49005bc73de937"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td></tr>
<tr class="separator:a4c2e4adef74067fdbb49005bc73de937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22dc57e538f0f49e2dc7d1c73f67fc8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a22dc57e538f0f49e2dc7d1c73f67fc8f">_current_2bpp_palette</a></td></tr>
<tr class="separator:a22dc57e538f0f49e2dc7d1c73f67fc8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a250f5339e05523912926be566e9eb8c0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a250f5339e05523912926be566e9eb8c0">_current_1bpp_colors</a></td></tr>
<tr class="separator:a250f5339e05523912926be566e9eb8c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa82205e9629f984d0b3dc8055c211522"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#aa82205e9629f984d0b3dc8055c211522">_map_tile_offset</a></td></tr>
<tr class="separator:aa82205e9629f984d0b3dc8055c211522"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab472d9bbb1bcfd141374f5babc71934c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#ab472d9bbb1bcfd141374f5babc71934c">_submap_tile_offset</a></td></tr>
<tr class="separator:ab472d9bbb1bcfd141374f5babc71934c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af02f9e73bd894cc25e03aedb0a10a91d"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a> []</td></tr>
<tr class="separator:af02f9e73bd894cc25e03aedb0a10a91d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5435fd985412934e96a490e103c6bc49"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a></td></tr>
<tr class="separator:a5435fd985412934e96a490e103c6bc49"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a388d1dff2698172ba8574e43f5c77c93"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a388d1dff2698172ba8574e43f5c77c93">_shadow_OAM_OFF</a></td></tr>
<tr class="separator:a388d1dff2698172ba8574e43f5c77c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a536a0cd7b1a9340eec355d60bd0348cc"><td class="memItemLeft" align="right" valign="top">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="sms_8h.html#a536a0cd7b1a9340eec355d60bd0348cc">_sprites_OFF</a></td></tr>
<tr class="separator:a536a0cd7b1a9340eec355d60bd0348cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>SMS/GG specific functions. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a19e5fbd76b85bf708ec31d55905fc537"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19e5fbd76b85bf708ec31d55905fc537">&#9670;&nbsp;</a></span>SEGA</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SEGA</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a99bca2df4c6fde16a659797b4e584036"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99bca2df4c6fde16a659797b4e584036">&#9670;&nbsp;</a></span>SYSTEM_60HZ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SYSTEM_60HZ&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad6329c19927cf02579e2503e40c0bbde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6329c19927cf02579e2503e40c0bbde">&#9670;&nbsp;</a></span>SYSTEM_50HZ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SYSTEM_50HZ&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6bc34abf062d8e3be88170ac106f197f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bc34abf062d8e3be88170ac106f197f">&#9670;&nbsp;</a></span>VBK_REG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBK_REG&#160;&#160;&#160;<a class="el" href="sms_2hardware_8h.html#a019bf78a6d586c987aec03af8d20e02f">VDP_ATTR_SHIFT</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a05ca817ab32f6da612c3ae26db5abf02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05ca817ab32f6da612c3ae26db5abf02">&#9670;&nbsp;</a></span>J_UP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_UP&#160;&#160;&#160;0b00000001</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Joypad bits. A logical OR of these is used in the wait_pad and joypad functions. For example, to see if the B button is pressed try</p>
<p>uint8_t keys; keys = <a class="el" href="sms_8h.html#a5d30da8cdcfa644b7f6dc331cce6de5b">joypad()</a>; if (keys &amp; J_B) { ... }</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a5d30da8cdcfa644b7f6dc331cce6de5b">joypad</a> </dd></dl>

</div>
</div>
<a id="ae032c5c544196e37ec0432f6cfad7904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae032c5c544196e37ec0432f6cfad7904">&#9670;&nbsp;</a></span>J_DOWN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_DOWN&#160;&#160;&#160;0b00000010</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ac70894fecac30c1ca9917f07373cf81c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac70894fecac30c1ca9917f07373cf81c">&#9670;&nbsp;</a></span>J_LEFT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_LEFT&#160;&#160;&#160;0b00000100</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a3bad91d11ae09ffcbb3cb0a81873d325"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3bad91d11ae09ffcbb3cb0a81873d325">&#9670;&nbsp;</a></span>J_RIGHT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_RIGHT&#160;&#160;&#160;0b00001000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ae47e59a309120f9420993f26816b5e6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae47e59a309120f9420993f26816b5e6d">&#9670;&nbsp;</a></span>J_B</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_B&#160;&#160;&#160;0b00010000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a31af766e3b598eb7a6b63f55a4988e7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a31af766e3b598eb7a6b63f55a4988e7a">&#9670;&nbsp;</a></span>J_A</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_A&#160;&#160;&#160;0b00100000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab769c6e20778298be8bc3321476ceb53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab769c6e20778298be8bc3321476ceb53">&#9670;&nbsp;</a></span>J_START</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_START&#160;&#160;&#160;0b01000000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ab416a9d96d1582490828f4bac78a8b5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab416a9d96d1582490828f4bac78a8b5b">&#9670;&nbsp;</a></span>J_SELECT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define J_SELECT&#160;&#160;&#160;0b10000000</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af0e30d6af308ffe5a025fbe85da40f6f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0e30d6af308ffe5a025fbe85da40f6f">&#9670;&nbsp;</a></span>M_TEXT_OUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define M_TEXT_OUT&#160;&#160;&#160;0x02U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Screen modes. Normally used by internal functions only. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode()</a> </dd></dl>

</div>
</div>
<a id="a908826e7180f94a5988ceb8633313a2e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a908826e7180f94a5988ceb8633313a2e">&#9670;&nbsp;</a></span>M_TEXT_INOUT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define M_TEXT_INOUT&#160;&#160;&#160;0x03U</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a04382de20738146fe873ddfb0585052b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04382de20738146fe873ddfb0585052b">&#9670;&nbsp;</a></span>M_NO_SCROLL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define M_NO_SCROLL&#160;&#160;&#160;0x04U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this in addition to the others to disable scrolling</p>
<p>If scrolling is disabled, the cursor returns to (0,0) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode()</a> </dd></dl>

</div>
</div>
<a id="aca2855edd2d28f66be551a0f7ec23f07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca2855edd2d28f66be551a0f7ec23f07">&#9670;&nbsp;</a></span>M_NO_INTERP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define M_NO_INTERP&#160;&#160;&#160;0x08U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set this to disable interpretation </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a3ea524204d839377cf39842eec23e202">mode()</a> </dd></dl>

</div>
</div>
<a id="a33caf10f6d1a7cbb6bd07b899c1a545f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33caf10f6d1a7cbb6bd07b899c1a545f">&#9670;&nbsp;</a></span>S_BANK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define S_BANK&#160;&#160;&#160;0x01U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The nineth bit of the tile id </p>

</div>
</div>
<a id="ae97793b4039609f93b0f7f8bddb18011"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae97793b4039609f93b0f7f8bddb18011">&#9670;&nbsp;</a></span>S_FLIPX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define S_FLIPX&#160;&#160;&#160;0x02U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If set the background tile will be flipped horizontally. </p>

</div>
</div>
<a id="a4bbb9cd6c38b2317de5256d1d889c63b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bbb9cd6c38b2317de5256d1d889c63b">&#9670;&nbsp;</a></span>S_FLIPY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define S_FLIPY&#160;&#160;&#160;0x04U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If set the background tile will be flipped vertically. </p>

</div>
</div>
<a id="a54572cf6791463b6d60623837e0bb5a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54572cf6791463b6d60623837e0bb5a6">&#9670;&nbsp;</a></span>S_PALETTE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define S_PALETTE&#160;&#160;&#160;0x08U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If set the background tile palette. </p>

</div>
</div>
<a id="a9506d04c2ec7d2442a52054f67d2b32f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9506d04c2ec7d2442a52054f67d2b32f">&#9670;&nbsp;</a></span>S_PRIORITY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define S_PRIORITY&#160;&#160;&#160;0x10U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>If set the background tile priority. </p>

</div>
</div>
<a id="a826169925ff12d52f0a0d51f14d2936b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a826169925ff12d52f0a0d51f14d2936b">&#9670;&nbsp;</a></span>S_PAL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define S_PAL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">n</td><td>)</td>
          <td>&#160;&#160;&#160;(((n) &amp; 0x01U) &lt;&lt; 3)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Dummy function used by other platforms. Required for the png2asset tool's metasprite output. </p>

</div>
</div>
<a id="a63369a199a979eb3dbba71449659148d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a63369a199a979eb3dbba71449659148d">&#9670;&nbsp;</a></span>__WRITE_VDP_REG_UNSAFE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __WRITE_VDP_REG_UNSAFE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">REG, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;shadow_##REG=(v),VDP_CMD=(shadow_##REG),VDP_CMD=REG</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa34282113397af810be737df1acec36c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa34282113397af810be737df1acec36c">&#9670;&nbsp;</a></span>__WRITE_VDP_REG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __WRITE_VDP_REG</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">REG, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">v&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;shadow_##REG=(v);__asm__(&quot;di&quot;);VDP_CMD=(shadow_##REG);VDP_CMD=REG;__asm__(&quot;ei&quot;)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a964e713cb2535d7464d0d6ca7677049a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a964e713cb2535d7464d0d6ca7677049a">&#9670;&nbsp;</a></span>__READ_VDP_REG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define __READ_VDP_REG</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">REG</td><td>)</td>
          <td>&#160;&#160;&#160;shadow_##REG</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa027abe630d44039f238034bcb2d2f36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa027abe630d44039f238034bcb2d2f36">&#9670;&nbsp;</a></span>EMPTY_IFLAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EMPTY_IFLAG&#160;&#160;&#160;0x00U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable calling of interrupt service routines </p>

</div>
</div>
<a id="a2ca7720b9a5da9b2173e1f74dba85541"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ca7720b9a5da9b2173e1f74dba85541">&#9670;&nbsp;</a></span>VBL_IFLAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBL_IFLAG&#160;&#160;&#160;0x01U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>VBlank Interrupt occurs at the start of the vertical blank.</p>
<p>During this period the video ram may be freely accessed. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts()</a>, </dd>
<dd>
<a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL</a> </dd></dl>

</div>
</div>
<a id="a61a9e2910380de6abb34df14ef634eb4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61a9e2910380de6abb34df14ef634eb4">&#9670;&nbsp;</a></span>LCD_IFLAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LCD_IFLAG&#160;&#160;&#160;0x02U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>LCD Interrupt when triggered by the STAT register. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts()</a>, </dd>
<dd>
<a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD</a> </dd></dl>

</div>
</div>
<a id="a604256210ec5b90b68185e1a18efab49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a604256210ec5b90b68185e1a18efab49">&#9670;&nbsp;</a></span>TIM_IFLAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TIM_IFLAG&#160;&#160;&#160;0x04U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does nothing on SMS/GG </p>

</div>
</div>
<a id="ad90564458646c5646b3880b93db3443e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad90564458646c5646b3880b93db3443e">&#9670;&nbsp;</a></span>SIO_IFLAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SIO_IFLAG&#160;&#160;&#160;0x08U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does nothing on SMS/GG </p>

</div>
</div>
<a id="a2f829cf27d6e3e24c875e9b82dfcb280"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f829cf27d6e3e24c875e9b82dfcb280">&#9670;&nbsp;</a></span>JOY_IFLAG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define JOY_IFLAG&#160;&#160;&#160;0x10U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does nothing on SMS/GG </p>

</div>
</div>
<a id="ada0cc738d27aad251151e69cb8d250e1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada0cc738d27aad251151e69cb8d250e1">&#9670;&nbsp;</a></span>SCREENWIDTH</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SCREENWIDTH&#160;&#160;&#160;<a class="el" href="sms_2hardware_8h.html#ad14c51cdfb347c34c364f54e67dc978d">DEVICE_SCREEN_PX_WIDTH</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Width of the visible screen in pixels. </p>

</div>
</div>
<a id="ae189e98d0ef9263c37869ce1ff3710a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae189e98d0ef9263c37869ce1ff3710a5">&#9670;&nbsp;</a></span>SCREENHEIGHT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SCREENHEIGHT&#160;&#160;&#160;<a class="el" href="sms_2hardware_8h.html#a7bd450aa268b881257089cf8cd6697ec">DEVICE_SCREEN_PX_HEIGHT</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Height of the visible screen in pixels. </p>

</div>
</div>
<a id="a5a796bbf3e4347d914b83568350143a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a796bbf3e4347d914b83568350143a9">&#9670;&nbsp;</a></span>MINWNDPOSX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MINWNDPOSX&#160;&#160;&#160;0x00U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The Minimum X position of the Window Layer (Left edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win()</a> </dd></dl>

</div>
</div>
<a id="af3d632ba2d7cef6619df5dfea8730909"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3d632ba2d7cef6619df5dfea8730909">&#9670;&nbsp;</a></span>MINWNDPOSY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MINWNDPOSY&#160;&#160;&#160;0x00U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The Minimum Y position of the Window Layer (Top edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win()</a> </dd></dl>

</div>
</div>
<a id="a6dffb66ec1b1d9bb380a1af52a601ec5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6dffb66ec1b1d9bb380a1af52a601ec5">&#9670;&nbsp;</a></span>MAXWNDPOSX</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAXWNDPOSX&#160;&#160;&#160;0x00U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The Maximum X position of the Window Layer (Right edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win()</a> </dd></dl>

</div>
</div>
<a id="ad57f2f8c54204687f02801d8ab1bd150"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad57f2f8c54204687f02801d8ab1bd150">&#9670;&nbsp;</a></span>MAXWNDPOSY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAXWNDPOSY&#160;&#160;&#160;0x00U</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The Maximum Y position of the Window Layer (Bottom edge of screen) </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aeef17768c494bcd6b67f7591329f7ff5">move_win()</a> </dd></dl>

</div>
</div>
<a id="a5ae6b05b3e1559c97f0d1b2daaaa0ee4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">&#9670;&nbsp;</a></span>DISPLAY_ON</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DISPLAY_ON&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#adbfdd7c42539613c371820dffd14906f">R1_DISP_ON</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns the display back on. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a>, <a class="el" href="sms_8h.html#ad2ec9831813c5e7069917aa4455af682">DISPLAY_OFF</a> </dd></dl>

</div>
</div>
<a id="ad2ec9831813c5e7069917aa4455af682"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2ec9831813c5e7069917aa4455af682">&#9670;&nbsp;</a></span>DISPLAY_OFF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DISPLAY_OFF&#160;&#160;&#160;	<a class="el" href="sms_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a>();</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns the display off immediately. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#afe5714734a8fea7b1617ba377b3c0a06">display_off</a>, <a class="el" href="sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">DISPLAY_ON</a> </dd></dl>

</div>
</div>
<a id="a0659212acd317ccdebc0ecf435df330f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0659212acd317ccdebc0ecf435df330f">&#9670;&nbsp;</a></span>HIDE_LEFT_COLUMN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HIDE_LEFT_COLUMN&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>) |= <a class="el" href="sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b">R0_LCB</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Blanks leftmost column, so it is not garbaged when you use horizontal scroll </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a5497c2255a9474d397446710189eacbe">SHOW_LEFT_COLUMN</a> </dd></dl>

</div>
</div>
<a id="a5497c2255a9474d397446710189eacbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5497c2255a9474d397446710189eacbe">&#9670;&nbsp;</a></span>SHOW_LEFT_COLUMN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SHOW_LEFT_COLUMN&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a673a19a1e353c852003c54d1d110b5e6">VDP_R0</a>) &amp;= (~<a class="el" href="sms_2hardware_8h.html#a83088549f6d87bf5ccb8bf51dfe7ea7b">R0_LCB</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Shows leftmost column </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a0659212acd317ccdebc0ecf435df330f">HIDE_LEFT_COLUMN</a> </dd></dl>

</div>
</div>
<a id="a3f3f7bd5879b807acbb203ce2aaa1e5d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f3f7bd5879b807acbb203ce2aaa1e5d">&#9670;&nbsp;</a></span>SET_BORDER_COLOR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SET_BORDER_COLOR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#aa82ab1c04cff3363327f3309d09ae638">VDP_R7</a>, ((C) | 0xf0u))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets border color </p>

</div>
</div>
<a id="a8e3f36aa68ac036695816757f2a1322c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e3f36aa68ac036695816757f2a1322c">&#9670;&nbsp;</a></span>SHOW_BKG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SHOW_BKG</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns on the background layer. Not yet implemented </p>

</div>
</div>
<a id="a6d25f7c43b1cbbb48b95cda7ab2c3141"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d25f7c43b1cbbb48b95cda7ab2c3141">&#9670;&nbsp;</a></span>HIDE_BKG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HIDE_BKG</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns off the background layer. Not yet implemented </p>

</div>
</div>
<a id="ab19da2ab719bb8897bc0843a84af28f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab19da2ab719bb8897bc0843a84af28f8">&#9670;&nbsp;</a></span>SHOW_WIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SHOW_WIN</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns on the window layer Not yet implemented </p>

</div>
</div>
<a id="aedb6e32c42d4b1d25ad11adccd7100c3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aedb6e32c42d4b1d25ad11adccd7100c3">&#9670;&nbsp;</a></span>HIDE_WIN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HIDE_WIN</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns off the window layer. Not yet implemented </p>

</div>
</div>
<a id="a495bc9f405f916f02ad5d97e6e730134"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a495bc9f405f916f02ad5d97e6e730134">&#9670;&nbsp;</a></span>SHOW_SPRITES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SHOW_SPRITES&#160;&#160;&#160;    (<a class="el" href="sms_8h.html#a536a0cd7b1a9340eec355d60bd0348cc">_sprites_OFF</a> = 0)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns on the sprites layer. </p>

</div>
</div>
<a id="a69ef98aee664b8abd8d1a3d45f016dda"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a69ef98aee664b8abd8d1a3d45f016dda">&#9670;&nbsp;</a></span>HIDE_SPRITES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HIDE_SPRITES&#160;&#160;&#160;    (<a class="el" href="sms_8h.html#a536a0cd7b1a9340eec355d60bd0348cc">_sprites_OFF</a> = 1)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Turns off the sprites layer. </p>

</div>
</div>
<a id="af91d252f07f4764996154820f970c101"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af91d252f07f4764996154820f970c101">&#9670;&nbsp;</a></span>SPRITES_8x16</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SPRITES_8x16&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) |= <a class="el" href="sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12">R1_SPR_8X16</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets sprite size to 8x16 pixels, two tiles one above the other. </p>

</div>
</div>
<a id="aa87bec0d134136fdb727f52cb773b792"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa87bec0d134136fdb727f52cb773b792">&#9670;&nbsp;</a></span>SPRITES_8x8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SPRITES_8x8&#160;&#160;&#160;	<a class="el" href="sms_8h.html#aa34282113397af810be737df1acec36c">__WRITE_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>, <a class="el" href="sms_8h.html#a964e713cb2535d7464d0d6ca7677049a">__READ_VDP_REG</a>(<a class="el" href="sms_2hardware_8h.html#a413fdabdacfcda90cc73a04311a2ec6d">VDP_R1</a>) &amp;= (~<a class="el" href="sms_2hardware_8h.html#a4985d6df1031afe8efb993f9c480ca12">R1_SPR_8X16</a>))</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets sprite size to 8x8 pixels, one tile. </p>

</div>
</div>
<a id="a231ec05679809190782e61c6e8aaaba4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a231ec05679809190782e61c6e8aaaba4">&#9670;&nbsp;</a></span>DEVICE_SUPPORTS_COLOR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DEVICE_SUPPORTS_COLOR&#160;&#160;&#160;(<a class="el" href="types_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Macro returns TRUE if device supports color (it always does on SMS/GG) </p>

</div>
</div>
<a id="a559dbd32dba6867c1ee4e481077b62ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a559dbd32dba6867c1ee4e481077b62ab">&#9670;&nbsp;</a></span>VBL_DONE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define VBL_DONE&#160;&#160;&#160;<a class="el" href="sms_8h.html#a379ebafd4dc456a9a0c10290bb38fe7c">_vbl_done</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a2032c420256dfa5c5c62fe73841fa56d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2032c420256dfa5c5c62fe73841fa56d">&#9670;&nbsp;</a></span>DIV_REG</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DIV_REG&#160;&#160;&#160;<a class="el" href="sms_8h.html#a8824313c4053d770df23c3233b6cde33">get_r_reg</a>()</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af0d15cf2a26924d2ef00ac4017e6b1d8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af0d15cf2a26924d2ef00ac4017e6b1d8">&#9670;&nbsp;</a></span>_current_bank</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define _current_bank&#160;&#160;&#160;MAP_FRAME1</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Tracks current active ROM bank in frame 1 </p>

</div>
</div>
<a id="ae042588f20bf5a2349c8ad8716245233"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae042588f20bf5a2349c8ad8716245233">&#9670;&nbsp;</a></span>CURRENT_BANK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define CURRENT_BANK&#160;&#160;&#160;MAP_FRAME1</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a42705001e2b9897f5167b67fb36c69dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a42705001e2b9897f5167b67fb36c69dd">&#9670;&nbsp;</a></span>BANK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BANK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VARNAME</td><td>)</td>
          <td>&#160;&#160;&#160;( (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>) &amp; __bank_ ## VARNAME )</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Obtains the <b>bank number</b> of VARNAME</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">VARNAME</td><td>Name of the variable which has a __bank_VARNAME companion symbol which is adjusted by bankpack</td></tr>
  </table>
  </dd>
</dl>
<p>Use this to obtain the bank number from a bank reference created with <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a261bba55a07b802baf99346feadd9852">BANKREF_EXTERN()</a>, <a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a> </dd></dl>

</div>
</div>
<a id="a086293f2afb4c7945460a4496b20aea3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a086293f2afb4c7945460a4496b20aea3">&#9670;&nbsp;</a></span>BANKREF</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BANKREF</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VARNAME</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordtype">void</span> __func_ ## VARNAME(<span class="keywordtype">void</span>) __banked __naked { \</div>
<div class="line">__asm \</div>
<div class="line">    .local b___func_ ## VARNAME \</div>
<div class="line">    ___bank_ ## VARNAME = b___func_ ## VARNAME \</div>
<div class="line">    .globl ___bank_ ## VARNAME \</div>
<div class="line">__endasm; \</div>
<div class="line">}</div>
</div><!-- fragment --><p>Creates a reference for retrieving the bank number of a variable or function</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">VARNAME</td><td>Variable name to use, which may be an existing identifier</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a> for obtaining the bank number of the included data.</dd></dl>
<p>More than one <code><a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a></code> may be created per file, but each call should always use a unique VARNAME.</p>
<p>Use <a class="el" href="gb_8h.html#a261bba55a07b802baf99346feadd9852">BANKREF_EXTERN()</a> within another source file to make the variable and it's data accesible there. </p>

</div>
</div>
<a id="a261bba55a07b802baf99346feadd9852"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a261bba55a07b802baf99346feadd9852">&#9670;&nbsp;</a></span>BANKREF_EXTERN</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define BANKREF_EXTERN</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">VARNAME</td><td>)</td>
          <td>&#160;&#160;&#160;extern const void __bank_ ## VARNAME;</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Creates extern references for accessing a <a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a> generated variable.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">VARNAME</td><td>Name of the variable used with <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a></td></tr>
  </table>
  </dd>
</dl>
<p>This makes a <a class="el" href="gb_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a> reference in another source file accessible in the current file for use with <a class="el" href="gb_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a086293f2afb4c7945460a4496b20aea3">BANKREF()</a>, <a class="el" href="sms_8h.html#a42705001e2b9897f5167b67fb36c69dd">BANK()</a> </dd></dl>

</div>
</div>
<a id="af61262bbc05629f31020afce67e1b9ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af61262bbc05629f31020afce67e1b9ea">&#9670;&nbsp;</a></span>SWITCH_ROM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SWITCH_ROM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td><td>)</td>
          <td>&#160;&#160;&#160;MAP_FRAME1=(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Makes switch the active ROM bank in frame 1 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>ROM bank to switch to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a86d47feb2b999aaabbba9f63f4bb3567"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86d47feb2b999aaabbba9f63f4bb3567">&#9670;&nbsp;</a></span>SWITCH_ROM1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SWITCH_ROM1&#160;&#160;&#160;<a class="el" href="msx_8h.html#ac996706e2a5e73f010841437f26d4d4f">SWITCH_ROM</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6d40a15ff27c2a1c8269d3dbe67eae65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d40a15ff27c2a1c8269d3dbe67eae65">&#9670;&nbsp;</a></span>SWITCH_ROM2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SWITCH_ROM2</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td><td>)</td>
          <td>&#160;&#160;&#160;MAP_FRAME2=(<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Makes switch the active ROM bank in frame 2 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>ROM bank to switch to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a121feb0c32d124562f52398aa9656e7b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a121feb0c32d124562f52398aa9656e7b">&#9670;&nbsp;</a></span>SWITCH_RAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SWITCH_RAM</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a></td><td>)</td>
          <td>&#160;&#160;&#160;RAM_CONTROL=((<a class="el" href="sms_8h.html#a4c2e4adef74067fdbb49005bc73de937">b</a>)&amp;1)?RAM_CONTROL|RAMCTL_BANK:RAM_CONTROL&amp;(~<a class="el" href="sms_2hardware_8h.html#a8f4dbe8a2e6389c78b9f6fb9a3ff1dca">RAMCTL_BANK</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Switches RAM bank </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">b</td><td>SRAM bank to switch to </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a0e9c88657beaac946231a4801481b97f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e9c88657beaac946231a4801481b97f">&#9670;&nbsp;</a></span>ENABLE_RAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENABLE_RAM&#160;&#160;&#160;RAM_CONTROL|=<a class="el" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d">RAMCTL_RAM</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enables RAM </p>

</div>
</div>
<a id="a649d27b5587de16a66176e03a1b8ebd5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a649d27b5587de16a66176e03a1b8ebd5">&#9670;&nbsp;</a></span>DISABLE_RAM</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DISABLE_RAM&#160;&#160;&#160;RAM_CONTROL&amp;=(~<a class="el" href="sms_2hardware_8h.html#a8728acabf97eae3322439bc3cb41b02d">RAMCTL_RAM</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disables RAM </p>

</div>
</div>
<a id="a2215732f2ba2ec6406b65d3cca56a200"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2215732f2ba2ec6406b65d3cca56a200">&#9670;&nbsp;</a></span>set_bkg_palette_entry</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_bkg_palette_entry&#160;&#160;&#160;<a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a8b5c17235a3f65af70492e109a25f237"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b5c17235a3f65af70492e109a25f237">&#9670;&nbsp;</a></span>set_sprite_palette_entry</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_sprite_palette_entry</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">palette, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">entry, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">rgb_data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry</a>(1,entry,rgb_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a9f879bd31899f7989f887b6238de24e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9f879bd31899f7989f887b6238de24e3">&#9670;&nbsp;</a></span>set_bkg_palette</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_bkg_palette&#160;&#160;&#160;<a class="el" href="sms_8h.html#af288f3b302839006d33d38755d922de0">set_palette</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a7d5ed1aed79d8fd2894893d7f6f9b835"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d5ed1aed79d8fd2894893d7f6f9b835">&#9670;&nbsp;</a></span>set_sprite_palette</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_sprite_palette</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">first_palette, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">nb_palettes, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">rgb_data&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="sms_8h.html#af288f3b302839006d33d38755d922de0">set_palette</a>(1,1,rgb_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a67f80e65620470b55a4950e2966eb868"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a67f80e65620470b55a4950e2966eb868">&#9670;&nbsp;</a></span>COMPAT_PALETTE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define COMPAT_PALETTE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C0, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C1, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C2, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">C3&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;(((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C3) &lt;&lt; 12) | ((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C2) &lt;&lt; 8) | ((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C1) &lt;&lt; 4) | (<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)(C0))</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a9a732aec1b7aec7d10a9d76ca4da2064"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a732aec1b7aec7d10a9d76ca4da2064">&#9670;&nbsp;</a></span>set_bkg_tiles</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_bkg_tiles&#160;&#160;&#160;<a class="el" href="sms_8h.html#a70e78513df5998b7e69e377868ac0622">set_tile_map_compat</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a429db030287423012f40a6dca81ae7e3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a429db030287423012f40a6dca81ae7e3">&#9670;&nbsp;</a></span>set_win_tiles</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_win_tiles&#160;&#160;&#160;<a class="el" href="sms_8h.html#a70e78513df5998b7e69e377868ac0622">set_tile_map_compat</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a3b7ffab8d64e2c345f03221145a935c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b7ffab8d64e2c345f03221145a935c0">&#9670;&nbsp;</a></span>fill_bkg_rect</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define fill_bkg_rect&#160;&#160;&#160;<a class="el" href="sms_8h.html#a19b48c3eaea43e4e63a34066803bb332">fill_rect_compat</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5a69a3129f4faa99857a8b3d80db1d4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a69a3129f4faa99857a8b3d80db1d4a">&#9670;&nbsp;</a></span>fill_win_rect</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define fill_win_rect&#160;&#160;&#160;<a class="el" href="sms_8h.html#a19b48c3eaea43e4e63a34066803bb332">fill_rect_compat</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="abfd70bf31185a4900680977c9fb5a5ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abfd70bf31185a4900680977c9fb5a5ec">&#9670;&nbsp;</a></span>DISABLE_VBL_TRANSFER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define DISABLE_VBL_TRANSFER&#160;&#160;&#160;    <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = 0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disable shadow OAM to VRAM copy on each VBlank </p>

</div>
</div>
<a id="a77d516c9d3f86f100eddea5e0d133a76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77d516c9d3f86f100eddea5e0d133a76">&#9670;&nbsp;</a></span>ENABLE_VBL_TRANSFER</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ENABLE_VBL_TRANSFER&#160;&#160;&#160;    <a class="el" href="sms_8h.html#a5435fd985412934e96a490e103c6bc49">_shadow_OAM_base</a> = (<a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>)((<a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>)&amp;<a class="el" href="sms_8h.html#af02f9e73bd894cc25e03aedb0a10a91d">shadow_OAM</a> &gt;&gt; 8)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable shadow OAM to VRAM copy on each VBlank </p>

</div>
</div>
<a id="a8b77608c87a9aef65a03531482b2163b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b77608c87a9aef65a03531482b2163b">&#9670;&nbsp;</a></span>MAX_HARDWARE_SPRITES</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MAX_HARDWARE_SPRITES&#160;&#160;&#160;64</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Amount of hardware sprites in OAM </p>

</div>
</div>
<a id="afc296eacbda6a42f2a71aacab376ceb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc296eacbda6a42f2a71aacab376ceb7">&#9670;&nbsp;</a></span>HARDWARE_SPRITE_CAN_FLIP_X</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HARDWARE_SPRITE_CAN_FLIP_X&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>True if sprite hardware can flip sprites by X (horizontally) </p>

</div>
</div>
<a id="a9119d69d971f6bee9e55d0df8f0ac983"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9119d69d971f6bee9e55d0df8f0ac983">&#9670;&nbsp;</a></span>HARDWARE_SPRITE_CAN_FLIP_Y</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define HARDWARE_SPRITE_CAN_FLIP_Y&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>True if sprite hardware can flip sprites by Y (vertically) </p>

</div>
</div>
<a id="adcd40a58f7c7d348d506cc400cd94739"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcd40a58f7c7d348d506cc400cd94739">&#9670;&nbsp;</a></span>set_bkg_tile_xy</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_bkg_tile_xy&#160;&#160;&#160;<a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a95d929d964d9988f4dc5a25ed399ae08"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95d929d964d9988f4dc5a25ed399ae08">&#9670;&nbsp;</a></span>set_win_tile_xy</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_win_tile_xy&#160;&#160;&#160;<a class="el" href="sms_8h.html#a5834057f6297c0fa8f8e9a6b714f1ff7">set_tile_xy</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a4d5a69c2f61a3b7e8656548132a872d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d5a69c2f61a3b7e8656548132a872d7">&#9670;&nbsp;</a></span>set_bkg_attribute_xy</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_bkg_attribute_xy&#160;&#160;&#160;<a class="el" href="sms_8h.html#a894d9359851846028d9974471922cb1e">set_attribute_xy</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1567f34688e1cf28ba97b1817f2f726c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1567f34688e1cf28ba97b1817f2f726c">&#9670;&nbsp;</a></span>set_win_attribute_xy</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define set_win_attribute_xy&#160;&#160;&#160;<a class="el" href="sms_8h.html#a894d9359851846028d9974471922cb1e">set_attribute_xy</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6eaafdbe6cf1695d30724ce75acb9412"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6eaafdbe6cf1695d30724ce75acb9412">&#9670;&nbsp;</a></span>get_win_xy_addr</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define get_win_xy_addr&#160;&#160;&#160;<a class="el" href="sms_8h.html#a66b4bfb8c1ea3005ff01ce040a778e63">get_bkg_xy_addr</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a9508f919d9482d1d51534ccac212454d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9508f919d9482d1d51534ccac212454d">&#9670;&nbsp;</a></span>int_handler</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* int_handler) (void) <a class="el" href="asm_2types_8h.html#a7ed081d8dfb6902784b2fc730bbb7f96">NONBANKED</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Interrupt handlers </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a498b148efd22ab8ad9b844b2dc5e5bb8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a498b148efd22ab8ad9b844b2dc5e5bb8">&#9670;&nbsp;</a></span>WRITE_VDP_CMD()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WRITE_VDP_CMD </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>cmd</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa2ddf9662320c4a9d00fd4a94d347570"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2ddf9662320c4a9d00fd4a94d347570">&#9670;&nbsp;</a></span>WRITE_VDP_DATA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WRITE_VDP_DATA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>data</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a3ea524204d839377cf39842eec23e202"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ea524204d839377cf39842eec23e202">&#9670;&nbsp;</a></span>mode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set the current screen mode - one of M_* modes</p>
<p>Normally used by internal functions only.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#af0e30d6af308ffe5a025fbe85da40f6f">M_TEXT_OUT</a>, <a class="el" href="sms_8h.html#a908826e7180f94a5988ceb8633313a2e">M_TEXT_INOUT</a>, <a class="el" href="sms_8h.html#a04382de20738146fe873ddfb0585052b">M_NO_SCROLL</a>, <a class="el" href="sms_8h.html#aca2855edd2d28f66be551a0f7ec23f07">M_NO_INTERP</a> </dd></dl>

</div>
</div>
<a id="a6f49bc517509dbff3b7f8fae4373b1f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f49bc517509dbff3b7f8fae4373b1f0">&#9670;&nbsp;</a></span>get_mode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> get_mode </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the current mode</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f">M_TEXT_OUT</a>, <a class="el" href="gb_8h.html#a908826e7180f94a5988ceb8633313a2e">M_TEXT_INOUT</a>, <a class="el" href="gb_8h.html#a04382de20738146fe873ddfb0585052b">M_NO_SCROLL</a>, <a class="el" href="gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07">M_NO_INTERP</a></dd></dl>
<p>Returns the current mode</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#acc9798fc62b5d626c91c8b0f20b522ff">M_DRAWING</a>, <a class="el" href="gb_8h.html#af0e30d6af308ffe5a025fbe85da40f6f">M_TEXT_OUT</a>, <a class="el" href="gb_8h.html#a908826e7180f94a5988ceb8633313a2e">M_TEXT_INOUT</a>, <a class="el" href="gb_8h.html#a04382de20738146fe873ddfb0585052b">M_NO_SCROLL</a>, <a class="el" href="gb_8h.html#aca2855edd2d28f66be551a0f7ec23f07">M_NO_INTERP</a> </dd></dl>

</div>
</div>
<a id="a4093fb5f45f807fe8d4a45121f3fffc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4093fb5f45f807fe8d4a45121f3fffc5">&#9670;&nbsp;</a></span>get_system()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> get_system </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the system gbdk is running on. </p>

</div>
</div>
<a id="aefda0091b2934571a11e07b512735f50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefda0091b2934571a11e07b512735f50">&#9670;&nbsp;</a></span>set_interrupts()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_interrupts </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>flags</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Clears any pending interrupts and sets the interrupt mask register IO to flags. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flags</td><td>A logical OR of *_IFLAGS</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This disables and then re-enables interrupts so it must be used outside of a critical section.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#aad3a9797fd6d216671b5bbaccd8a4916">enable_interrupts()</a>, <a class="el" href="gb_8h.html#ae3e53d15b4fc64f43761f55c1793b490">disable_interrupts()</a> </dd>
<dd>
<a class="el" href="gb_8h.html#a2ca7720b9a5da9b2173e1f74dba85541">VBL_IFLAG</a>, <a class="el" href="gb_8h.html#a61a9e2910380de6abb34df14ef634eb4">LCD_IFLAG</a>, <a class="el" href="gb_8h.html#a604256210ec5b90b68185e1a18efab49">TIM_IFLAG</a>, <a class="el" href="gb_8h.html#ad90564458646c5646b3880b93db3443e">SIO_IFLAG</a>, <a class="el" href="gb_8h.html#a2f829cf27d6e3e24c875e9b82dfcb280">JOY_IFLAG</a> </dd></dl>

</div>
</div>
<a id="a98f7ef49e1758c601979bcb0ff19a1f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98f7ef49e1758c601979bcb0ff19a1f0">&#9670;&nbsp;</a></span>remove_VBL()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void remove_VBL </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Removes the VBL interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ae59628e2237f301df1341e22bfc8296e">add_VBL()</a> </dd></dl>

</div>
</div>
<a id="aa8962b27b960bb0c8d3bb899246c690c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8962b27b960bb0c8d3bb899246c690c">&#9670;&nbsp;</a></span>remove_LCD()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void remove_LCD </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Removes the LCD interrupt handler. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a51add93356a25c71e8c37a73c9065c9d">add_LCD()</a>, <a class="el" href="sms_8h.html#a98f7ef49e1758c601979bcb0ff19a1f0">remove_VBL()</a> </dd></dl>

</div>
</div>
<a id="a98785a1b0ddc91cd8e8c8fab8de1de20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98785a1b0ddc91cd8e8c8fab8de1de20">&#9670;&nbsp;</a></span>remove_TIM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void remove_TIM </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a98de9141f407585801fcbf55bf6dcc4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a98de9141f407585801fcbf55bf6dcc4c">&#9670;&nbsp;</a></span>remove_SIO()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void remove_SIO </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a35a3ff12ab34534b763517576afe38a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a35a3ff12ab34534b763517576afe38a6">&#9670;&nbsp;</a></span>remove_JOY()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void remove_JOY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ae59628e2237f301df1341e22bfc8296e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae59628e2237f301df1341e22bfc8296e">&#9670;&nbsp;</a></span>add_VBL()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add_VBL </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Adds a V-blank interrupt handler. </p>

</div>
</div>
<a id="a51add93356a25c71e8c37a73c9065c9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51add93356a25c71e8c37a73c9065c9d">&#9670;&nbsp;</a></span>add_LCD()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add_LCD </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Adds a LCD interrupt handler. </p>

</div>
</div>
<a id="a6c66a583a8f0744e3985c89725e3dc10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c66a583a8f0744e3985c89725e3dc10">&#9670;&nbsp;</a></span>add_TIM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add_TIM </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does nothing on SMS/GG </p>

</div>
</div>
<a id="a3372d61a07e0466bdb909a27f3aaaca9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3372d61a07e0466bdb909a27f3aaaca9">&#9670;&nbsp;</a></span>add_SIO()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add_SIO </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does nothing on SMS/GG </p>

</div>
</div>
<a id="a48163816121cd669526817d3e6266fd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a48163816121cd669526817d3e6266fd9">&#9670;&nbsp;</a></span>add_JOY()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void add_JOY </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="sms_8h.html#a9508f919d9482d1d51534ccac212454d">int_handler</a>&#160;</td>
          <td class="paramname"><em>h</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Does nothing on SMS/GG </p>

</div>
</div>
<a id="ade1cd2eab862b0e479415288964b3d63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade1cd2eab862b0e479415288964b3d63">&#9670;&nbsp;</a></span>cancel_pending_interrupts()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> cancel_pending_interrupts </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Cancel pending interrupts </p>

</div>
</div>
<a id="a6261537edc74068e3f7f057e6a3e8a57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6261537edc74068e3f7f057e6a3e8a57">&#9670;&nbsp;</a></span>move_bkg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void move_bkg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1f583f7a880daa6145ca78b086a209d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f583f7a880daa6145ca78b086a209d1">&#9670;&nbsp;</a></span>scroll_bkg()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void scroll_bkg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af57b77452ef377da18e4fbf0288013d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af57b77452ef377da18e4fbf0288013d1">&#9670;&nbsp;</a></span>vsync()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vsync </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>HALTs the CPU and waits for the vertical blank interrupt.</p>
<p>This is often used in main loops to idle the CPU at low power until it's time to start the next frame. It's also useful for syncing animation with the screen re-draw.</p>
<p>Warning: If the VBL interrupt is disabled, this function will never return. If the screen is off this function returns immediately. </p>

</div>
</div>
<a id="a815f8ecad32d14b786a8ed1168518773"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a815f8ecad32d14b786a8ed1168518773">&#9670;&nbsp;</a></span>wait_vbl_done()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wait_vbl_done </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Obsolete. This function has been replaced by <a class="el" href="sms_8h.html#af57b77452ef377da18e4fbf0288013d1">vsync()</a>, which has identical behavior. </p>

</div>
</div>
<a id="afe5714734a8fea7b1617ba377b3c0a06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe5714734a8fea7b1617ba377b3c0a06">&#9670;&nbsp;</a></span>display_off()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void display_off </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Turns the display off.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a5ae6b05b3e1559c97f0d1b2daaaa0ee4">DISPLAY_ON</a> </dd></dl>

</div>
</div>
<a id="ac23dbe69b5ee241af2da4f77bb580fa5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac23dbe69b5ee241af2da4f77bb580fa5">&#9670;&nbsp;</a></span>refresh_OAM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void refresh_OAM </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Copies data from shadow OAM to OAM </p>

</div>
</div>
<a id="a8824313c4053d770df23c3233b6cde33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8824313c4053d770df23c3233b6cde33">&#9670;&nbsp;</a></span>get_r_reg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> get_r_reg </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return R register for the DIV_REG emulation</p>
<p>Increments once per CPU instruction (fetches the Z80 CPU R register) </p>

</div>
</div>
<a id="a217232c82eb5f99f7639b5786ce5abc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a217232c82eb5f99f7639b5786ce5abc6">&#9670;&nbsp;</a></span>delay()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void delay </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Delays the given number of milliseconds. Uses no timers or interrupts, and can be called with interrupts disabled </p>

</div>
</div>
<a id="a5d30da8cdcfa644b7f6dc331cce6de5b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d30da8cdcfa644b7f6dc331cce6de5b">&#9670;&nbsp;</a></span>joypad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypad </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Reads and returns the current state of the joypad. </p>

</div>
</div>
<a id="acd20be39843ecb38e8023fd35bb4aafc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd20be39843ecb38e8023fd35bb4aafc">&#9670;&nbsp;</a></span>waitpad()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> waitpad </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>mask</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Waits until at least one of the buttons given in mask are pressed. </p>

</div>
</div>
<a id="aebc8751fa428e9845ea25b1060ebe772"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aebc8751fa428e9845ea25b1060ebe772">&#9670;&nbsp;</a></span>waitpadup()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void waitpadup </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Waits for the directional pad and all buttons to be released.</p>
<p>Note: Checks in a loop that doesn't HALT at all, so the CPU will be maxed out until this call returns. </p>

</div>
</div>
<a id="abe90cc2b5bb10c0ed9e01e548ddf8862"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe90cc2b5bb10c0ed9e01e548ddf8862">&#9670;&nbsp;</a></span>joypad_init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> joypad_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>npads</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structjoypads__t.html">joypads_t</a> *&#160;</td>
          <td class="paramname"><em>joypads</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Initializes <a class="el" href="structjoypads__t.html">joypads_t</a> structure for polling multiple joypads </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">npads</td><td>number of joypads requested (1, 2 or 4) </td></tr>
    <tr><td class="paramname">joypads</td><td>pointer to <a class="el" href="structjoypads__t.html">joypads_t</a> structure to be initialized</td></tr>
  </table>
  </dd>
</dl>
<p>Only required for <a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex</a>, not required for calls to regular <a class="el" href="gb_8h.html#a4344fefd260763e12703138066841b19">joypad()</a> </p><dl class="section return"><dt>Returns</dt><dd>number of joypads avaliable </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a1d45c65829490c5ec98362f5e60edc20">joypad_ex()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl>

</div>
</div>
<a id="a1d45c65829490c5ec98362f5e60edc20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d45c65829490c5ec98362f5e60edc20">&#9670;&nbsp;</a></span>joypad_ex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void joypad_ex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjoypads__t.html">joypads_t</a> *&#160;</td>
          <td class="paramname"><em>joypads</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Polls all avaliable joypads </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">joypads</td><td>pointer to <a class="el" href="structjoypads__t.html">joypads_t</a> structure to be filled with joypad statuses, must be previously initialized with <a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init()</a></td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#abe90cc2b5bb10c0ed9e01e548ddf8862">joypad_init()</a>, <a class="el" href="structjoypads__t.html">joypads_t</a> </dd></dl>

</div>
</div>
<a id="aad3a9797fd6d216671b5bbaccd8a4916"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad3a9797fd6d216671b5bbaccd8a4916">&#9670;&nbsp;</a></span>enable_interrupts()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void enable_interrupts </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Enables unmasked interrupts</p>
<dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ae3e53d15b4fc64f43761f55c1793b490">disable_interrupts</a>, <a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a>, <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> </dd></dl>

</div>
</div>
<a id="ae3e53d15b4fc64f43761f55c1793b490"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3e53d15b4fc64f43761f55c1793b490">&#9670;&nbsp;</a></span>disable_interrupts()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void disable_interrupts </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Disables interrupts</p>
<dl class="section note"><dt>Note</dt><dd>Use <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> {...} instead for creating a block of of code which should execute with interrupts temporarily turned off.</dd></dl>
<p>This function may be called as many times as you like; however the first call to <a class="el" href="sms_8h.html#aad3a9797fd6d216671b5bbaccd8a4916">enable_interrupts</a> will re-enable them.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#aad3a9797fd6d216671b5bbaccd8a4916">enable_interrupts</a>, <a class="el" href="sms_8h.html#aefda0091b2934571a11e07b512735f50">set_interrupts</a>, <a class="el" href="asm_2types_8h.html#ae0233515480e60d29bcc731469976e02">CRITICAL</a> </dd></dl>

</div>
</div>
<a id="a2a89f4110072dbe76805e7b07299788d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a89f4110072dbe76805e7b07299788d">&#9670;&nbsp;</a></span>set_default_palette()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_default_palette </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6b334e5e452d0650aded17199be1514a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b334e5e452d0650aded17199be1514a">&#9670;&nbsp;</a></span>cgb_compatibility()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void cgb_compatibility </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Obsolete. This function has been replaced by <a class="el" href="cgb_8h.html#a2a89f4110072dbe76805e7b07299788d">set_default_palette()</a>, which has identical behavior. </p>

</div>
</div>
<a id="a871b5b1aba74ab8764f72b73bc090adb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a871b5b1aba74ab8764f72b73bc090adb">&#9670;&nbsp;</a></span>cpu_fast()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void cpu_fast </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set CPU speed to fast (CGB Double Speed) operation.</p>
<p>On startup the CGB operates in Normal Speed Mode and can be switched into Double speed mode (faster processing but also higher power consumption). See the Pan Docs for more information about which hardware features operate faster and which remain at Normal Speed.</p>
<ul>
<li>Interrupts are temporarily disabled and then re-enabled during this call. </li>
<li>You can check to see if <a class="el" href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a> == <a class="el" href="gb_8h.html#aee435a3a0dde3dbd7b6112dbb456cde8">CGB_TYPE</a> before using this function.</li>
</ul>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#a476d06d0fe64d7c5a1ec05b8ee859a56">cpu_slow()</a>, <a class="el" href="gb_8h.html#a874b9bd95b0a05d6a6072feabc879e45">_cpu</a> </dd></dl>

</div>
</div>
<a id="a2c9aabf4519e01257b0d0e04e8108164"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c9aabf4519e01257b0d0e04e8108164">&#9670;&nbsp;</a></span>set_palette_entry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_palette_entry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>palette</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>entry</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>rgb_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af288f3b302839006d33d38755d922de0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af288f3b302839006d33d38755d922de0">&#9670;&nbsp;</a></span>set_palette()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_palette </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>first_palette</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb_palettes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="cgb_8h.html#af868d7cdbd052c6b972ef137e02f6495">palette_color_t</a> *&#160;</td>
          <td class="paramname"><em>rgb_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set color palette(s)</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">first_palette</td><td>Index of the first 16 color palette to write (0-1) </td></tr>
    <tr><td class="paramname">nb_palettes</td><td>Number of palettes to write (1-2, max depends on first_palette) </td></tr>
    <tr><td class="paramname">rgb_data</td><td>Pointer to source palette data</td></tr>
  </table>
  </dd>
</dl>
<p>Writes <b>nb_palettes</b> to palette data starting at <b>first_palette</b>, Palette data is sourced from <b>rgb_data</b>.</p>
<ul>
<li>Palette 0 can be used for the Background. </li>
<li>Palette 1 is shared between Background and Sprites.</li>
</ul>
<p>On the Game Gear </p><ul>
<li>Each Palette is 32 bytes in size: 16 colors x 2 bytes per palette color entry. </li>
<li>Each color (16 per palette) is packed as BGR-444 format (x:4:4:4, MSBits [15..12] are unused). </li>
<li>Each component (R, G, B) may have values from 0 - 15 (4 bits), 15 is brightest.</li>
</ul>
<p>On the SMS </p><ul>
<li>On SMS each Palette is 16 bytes in size: 16 colors x 1 byte per palette color entry. </li>
<li>Each color (16 per palette) is packed as BGR-222 format (x:2:2:2, MSBits [7..6] are unused). </li>
<li>Each component (R, G, B) may have values from 0 - 3 (2 bits), 3 is brightest.</li>
</ul>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="cgb_8h.html#a4a118ad3ee36468a3fa616977a64864e">RGB()</a>, <a class="el" href="sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835">set_sprite_palette()</a>, <a class="el" href="sms_8h.html#a9f879bd31899f7989f887b6238de24e3">set_bkg_palette()</a>, <a class="el" href="sms_8h.html#a2c9aabf4519e01257b0d0e04e8108164">set_palette_entry()</a>, <a class="el" href="sms_8h.html#a8b5c17235a3f65af70492e109a25f237">set_sprite_palette_entry()</a>, <a class="el" href="sms_8h.html#a2215732f2ba2ec6406b65d3cca56a200">set_bkg_palette_entry()</a>, <a class="el" href="sms_8h.html#a7d5ed1aed79d8fd2894893d7f6f9b835">set_sprite_palette()</a> </dd></dl>

</div>
</div>
<a id="a3464b51a1f7b1dc8303679c41c451503"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3464b51a1f7b1dc8303679c41c451503">&#9670;&nbsp;</a></span>set_native_tile_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_native_tile_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a551fa0b4eb3f30b067a6367a60472095"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a551fa0b4eb3f30b067a6367a60472095">&#9670;&nbsp;</a></span>set_bkg_4bpp_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_4bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a1ebee7e351b428caca006476e102186e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ebee7e351b428caca006476e102186e">&#9670;&nbsp;</a></span>set_bkg_native_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_native_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad9f5644f83d1b513d83c14bf83a18ce6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9f5644f83d1b513d83c14bf83a18ce6">&#9670;&nbsp;</a></span>set_sprite_4bpp_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_4bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a3f173ca95fd7d8da06187d5704a04e7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f173ca95fd7d8da06187d5704a04e7c">&#9670;&nbsp;</a></span>set_sprite_native_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_native_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa224c9bac27c7fd268e62bdf33338a84"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa224c9bac27c7fd268e62bdf33338a84">&#9670;&nbsp;</a></span>set_2bpp_palette()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_2bpp_palette </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>palette</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab752b1bb0f58da2a6d52e9747c4b3dd8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab752b1bb0f58da2a6d52e9747c4b3dd8">&#9670;&nbsp;</a></span>set_tile_2bpp_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_tile_2bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>palette</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a8130306da1177f4fef89e699f8e2add4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8130306da1177f4fef89e699f8e2add4">&#9670;&nbsp;</a></span>set_bkg_data()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a216a3e3d320ee4d8cf4845600487ae39"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a216a3e3d320ee4d8cf4845600487ae39">&#9670;&nbsp;</a></span>set_sprite_data()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa7ba76e4d44dbf19da351fd1ea8e3023"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7ba76e4d44dbf19da351fd1ea8e3023">&#9670;&nbsp;</a></span>set_bkg_2bpp_data()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_2bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a10ee2919fcab7a5c482816ed718d1c4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10ee2919fcab7a5c482816ed718d1c4a">&#9670;&nbsp;</a></span>set_sprite_2bpp_data()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_2bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="adcb394299a1033616fc7d2faec8bd6ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcb394299a1033616fc7d2faec8bd6ad">&#9670;&nbsp;</a></span>set_1bpp_colors()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_1bpp_colors </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>fgcolor</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>bgcolor</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a747033606e041b45ae09b38fdb06b871"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a747033606e041b45ae09b38fdb06b871">&#9670;&nbsp;</a></span>set_tile_1bpp_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_tile_1bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>colors</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a4d5f74eed0489ebfdc2410ee3f9f7f04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d5f74eed0489ebfdc2410ee3f9f7f04">&#9670;&nbsp;</a></span>set_bkg_1bpp_data()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_1bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a2cc121fbeb5570248531b85a8f0b5b97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2cc121fbeb5570248531b85a8f0b5b97">&#9670;&nbsp;</a></span>set_sprite_1bpp_data()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_1bpp_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>ntiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a8fe17423c7ef7c44f1ccff27d3afbebc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8fe17423c7ef7c44f1ccff27d3afbebc">&#9670;&nbsp;</a></span>set_data()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_data </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Copies arbitrary data to an address in VRAM</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">dst</td><td>destination VRAM Address </td></tr>
    <tr><td class="paramname">src</td><td>Pointer to source buffer </td></tr>
    <tr><td class="paramname">size</td><td>Number of bytes to copy</td></tr>
  </table>
  </dd>
</dl>
<p>Copies <b>size</b> bytes from a buffer at _src__ to VRAM starting at <b>dst</b>. </p>

</div>
</div>
<a id="a33a749b14dfbd203c460e8d7f3500636"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33a749b14dfbd203c460e8d7f3500636">&#9670;&nbsp;</a></span>vmemcpy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void vmemcpy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a4e98c8da2e6eb8051e2ebbd418220a4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4e98c8da2e6eb8051e2ebbd418220a4f">&#9670;&nbsp;</a></span>set_tile_map()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_tile_map </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>tiles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a70e78513df5998b7e69e377868ac0622"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70e78513df5998b7e69e377868ac0622">&#9670;&nbsp;</a></span>set_tile_map_compat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_tile_map_compat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>tiles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a811c386cac0df2d260aacb5a43608be5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a811c386cac0df2d260aacb5a43608be5">&#9670;&nbsp;</a></span>set_bkg_based_tiles()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_based_tiles </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>tiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>base_tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a739a212609ae60c9c56c095f96b4ea80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a739a212609ae60c9c56c095f96b4ea80">&#9670;&nbsp;</a></span>set_win_based_tiles()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_win_based_tiles </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>tiles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>base_tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0bcf384938628c4ab52e63b2df8f78f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bcf384938628c4ab52e63b2df8f78f8">&#9670;&nbsp;</a></span>set_bkg_attributes()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_attributes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>tiles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a68843603e91db6f5c24fbd0f5b7da271"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68843603e91db6f5c24fbd0f5b7da271">&#9670;&nbsp;</a></span>set_tile_submap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_tile_submap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a77ffe1e9ec1736087ca4312550231198"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77ffe1e9ec1736087ca4312550231198">&#9670;&nbsp;</a></span>set_tile_submap_compat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_tile_submap_compat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a0cfd261bc7a94b1f6093f423bad30298"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cfd261bc7a94b1f6093f423bad30298">&#9670;&nbsp;</a></span>set_bkg_submap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_submap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets a rectangular area of the Background Tile Map using a sub-region from a source tile map. Useful for scrolling implementations of maps larger than 32 x 32 tiles.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>X Start position in both the Source Tile Map and hardware Background Map tile coordinates. Range 0 - 255 </td></tr>
    <tr><td class="paramname">y</td><td>Y Start position in both the Source Tile Map and hardware Background Map tile coordinates. Range 0 - 255 </td></tr>
    <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 255 </td></tr>
    <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 255 </td></tr>
    <tr><td class="paramname">map</td><td>Pointer to source tile map data </td></tr>
    <tr><td class="paramname">map_w</td><td>Width of source tile map in tiles. Range 1 - 255</td></tr>
  </table>
  </dd>
</dl>
<p>Entries are copied from <b>map</b> to the Background Tile Map starting at <b>x</b>, <b>y</b> writing across for <b>w</b> tiles and down for <b>h</b> tiles, using <b>map_w</b> as the rowstride for the source tile map.</p>
<p>The <b>x</b> and <b>y</b> parameters are in Source Tile Map tile coordinates. The location tiles will be written to on the hardware Background Map is derived from those, but only uses the lower 5 bits of each axis, for range of 0-31 (they are bit-masked: <code>x &amp; 0x1F</code> and <code>y &amp; 0x1F</code>). As a result the two coordinate systems are aligned together.</p>
<p>In order to transfer tile map data in a way where the coordinate systems are not aligned, an offset from the Source Tile Map pointer can be passed in: <code>(map_ptr + x + (y * map_width))</code>.</p>
<p>For example, if you want the tile id at <code>1,2</code> from the source map to show up at <code>0,0</code> on the hardware Background Map (instead of at <code>1,2</code>) then modify the pointer address that is passed in: <code>map_ptr + 1 + (2 * map_width)</code></p>
<p>Use this instead of <a class="el" href="nes_8h.html#a6ab3fa75195d44d8d7e867d4a4cb1131">set_bkg_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p>
<p>One byte per source tile map entry.</p>
<p>Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges.</p>
<p>See <a class="el" href="nes_8h.html#a6ab3fa75195d44d8d7e867d4a4cb1131">set_bkg_tiles</a> for setting CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#a8e3f36aa68ac036695816757f2a1322c">SHOW_BKG</a> </dd>
<dd>
<a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#af80befa3cad9cae361c7cf4fffb3a8de">set_win_submap</a>, <a class="el" href="gb_8h.html#a6224b2e4b72c062a2bb2959b0aaf860a">set_tiles</a> </dd></dl>

</div>
</div>
<a id="abb50a392ca0d0419a080413287ee5d79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb50a392ca0d0419a080413287ee5d79">&#9670;&nbsp;</a></span>set_win_submap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_win_submap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets a rectangular area of the Window Tile Map using a sub-region from a source tile map.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>X Start position in both the Source Tile Map and hardware Window Map tile coordinates. Range 0 - 255 </td></tr>
    <tr><td class="paramname">y</td><td>Y Start position in both the Source Tile Map and hardware Window Map tile coordinates. Range 0 - 255 </td></tr>
    <tr><td class="paramname">w</td><td>Width of area to set in tiles. Range 1 - 255 </td></tr>
    <tr><td class="paramname">h</td><td>Height of area to set in tiles. Range 1 - 255 </td></tr>
    <tr><td class="paramname">map</td><td>Pointer to source tile map data </td></tr>
    <tr><td class="paramname">map_w</td><td>Width of source tile map in tiles. Range 1 - 255</td></tr>
  </table>
  </dd>
</dl>
<p>Entries are copied from <b>map</b> to the Window Tile Map starting at <b>x</b>, <b>y</b> writing across for <b>w</b> tiles and down for <b>h</b> tiles, using <b>map_w</b> as the rowstride for the source tile map.</p>
<p>The <b>x</b> and <b>y</b> parameters are in Source Tile Map tile coordinates. The location tiles will be written to on the hardware Background Map is derived from those, but only uses the lower 5 bits of each axis, for range of 0-31 (they are bit-masked: <code>x &amp; 0x1F</code> and <code>y &amp; 0x1F</code>). As a result the two coordinate systems are aligned together.</p>
<p>In order to transfer tile map data in a way where the coordinate systems are not aligned, an offset from the Source Tile Map pointer can be passed in: <code>(map_ptr + x + (y * map_width))</code>.</p>
<p>For example, if you want the tile id at <code>1,2</code> from the source map to show up at <code>0,0</code> on the hardware Background Map (instead of at <code>1,2</code>) then modify the pointer address that is passed in: <code>map_ptr + 1 + (2 * map_width)</code></p>
<p>Use this instead of <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a> when the source map is wider than 32 tiles or when writing a width that does not match the source map width.</p>
<p>One byte per source tile map entry.</p>
<p>Writes that exceed coordinate 31 on the x or y axis will wrap around to the Left and Top edges.</p>
<p>GBC only: <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a> determines whether Tile Numbers or Tile Attributes get set. </p><ul>
<li>VBK_REG = <a class="el" href="sms_2hardware_8h.html#a6b6b917fd4f396ba028bb18631165781">VBK_TILES</a> Tile Numbers are written </li>
<li>VBK_REG = <a class="el" href="sms_2hardware_8h.html#a418a105f4c7d4bf1cbc556eab72c27ca">VBK_ATTRIBUTES</a> Tile Attributes are written</li>
</ul>
<p>See <a class="el" href="nes_8h.html#a6ab3fa75195d44d8d7e867d4a4cb1131">set_bkg_tiles</a> for details about CGB attribute maps with <a class="el" href="gb_2hardware_8h.html#a5ccae0d556500e1055a0ec8de20c535a">VBK_REG</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="gb_8h.html#ab19da2ab719bb8897bc0843a84af28f8">SHOW_WIN</a>, <a class="el" href="gb_8h.html#aedb6e32c42d4b1d25ad11adccd7100c3">HIDE_WIN</a>, <a class="el" href="gb_8h.html#a5c59b4ee6323af9832998906d087266b">set_win_tiles</a>, <a class="el" href="gb_8h.html#adb21d1c7d533a7133bab36a845489780">set_bkg_submap</a>, <a class="el" href="gb_8h.html#a6da9e2fa1bafd35363e84ee999909ec7">set_bkg_tiles</a>, <a class="el" href="gb_8h.html#a1f5101f2b7bb0123c26a3e257f843626">set_bkg_data</a>, <a class="el" href="gb_8h.html#a6224b2e4b72c062a2bb2959b0aaf860a">set_tiles</a> </dd></dl>

</div>
</div>
<a id="abc8bc5808620a9717263b8c9ec2237f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abc8bc5808620a9717263b8c9ec2237f0">&#9670;&nbsp;</a></span>set_bkg_based_submap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_based_submap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>base_tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1b8a1026983cb2b2c0bd46334b4692a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b8a1026983cb2b2c0bd46334b4692a0">&#9670;&nbsp;</a></span>set_win_based_submap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_win_based_submap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>base_tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a1cefe143b3861632897e0c989401bce7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cefe143b3861632897e0c989401bce7">&#9670;&nbsp;</a></span>set_bkg_submap_attributes()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_bkg_submap_attributes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>map</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>map_w</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a9e3b7bf1729a6355bc72d202b6e0d1e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e3b7bf1729a6355bc72d202b6e0d1e6">&#9670;&nbsp;</a></span>fill_rect()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fill_rect </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a19b48c3eaea43e4e63a34066803bb332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19b48c3eaea43e4e63a34066803bb332">&#9670;&nbsp;</a></span>fill_rect_compat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void fill_rect_compat </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a7e0cdfd6b9a2ae1b7f30384f132d8687"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e0cdfd6b9a2ae1b7f30384f132d8687">&#9670;&nbsp;</a></span>SET_SHADOW_OAM_ADDRESS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void SET_SHADOW_OAM_ADDRESS </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>address</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets address of 256-byte aligned array of shadow OAM to be transferred on each VBlank </p>

</div>
</div>
<a id="a05bf0b9f1328de7b568a19a2a428bcfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05bf0b9f1328de7b568a19a2a428bcfe">&#9670;&nbsp;</a></span>set_sprite_tile()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_tile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>tile</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Sets sprite number <b>nb__in the OAM to display tile number __tile</b>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
    <tr><td class="paramname">tile</td><td>Selects a tile (0 - 255) from memory at 8000h - 8FFFh <br  />
 In CGB Mode this could be either in VRAM Bank <br  />
 0 or 1, depending on Bit 3 of the OAM Attribute Flag <br  />
 (see <a class="el" href="sms_8h.html#a99ea3252469e3614e977cce2aa1d06f7">set_sprite_prop</a>)</td></tr>
  </table>
  </dd>
</dl>
<p>In 8x16 mode: </p><ul>
<li>The sprite will also display the next tile (<b>tile</b> + 1) directly below (y + 8) the first tile. </li>
<li>The lower bit of the tile number is ignored: the upper 8x8 tile is (<b>tile</b> &amp; 0xFE), and the lower 8x8 tile is (<b>tile</b> | 0x01). </li>
<li>See: <a class="el" href="sms_8h.html#af91d252f07f4764996154820f970c101">SPRITES_8x16</a> </li>
</ul>

</div>
</div>
<a id="af5c0beff7d7a7d8641b51fd95c811b2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5c0beff7d7a7d8641b51fd95c811b2a">&#9670;&nbsp;</a></span>get_sprite_tile()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> get_sprite_tile </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the tile number of sprite number <b>nb</b> in the OAM.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#a05bf0b9f1328de7b568a19a2a428bcfe">set_sprite_tile</a> for more details </dd></dl>

</div>
</div>
<a id="a99ea3252469e3614e977cce2aa1d06f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99ea3252469e3614e977cce2aa1d06f7">&#9670;&nbsp;</a></span>set_sprite_prop()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void set_sprite_prop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>prop</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Function has no affect on sms.</p>
<p>This function is only here to enable game portability </p>

</div>
</div>
<a id="a6b873c807c9e2c90fb574951e85fdf88"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b873c807c9e2c90fb574951e85fdf88">&#9670;&nbsp;</a></span>get_sprite_prop()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> get_sprite_prop </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the OAM Property Flags of sprite number <b>nb</b>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="nes_8h.html#a96b6dd8b1dcb44f540baa6093b54154b">set_sprite_prop</a> for property bitfield settings </dd></dl>

</div>
</div>
<a id="ab42c12c1d9aed3fd963248fbea9830cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab42c12c1d9aed3fd963248fbea9830cd">&#9670;&nbsp;</a></span>move_sprite()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void move_sprite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Moves sprite number <b>nb</b> to the <b>x</b>, <b>y</b> position on the screen.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
    <tr><td class="paramname">x</td><td>X Position. Specifies the sprites horizontal position on the screen (minus 8). <br  />
 An offscreen value (X=0 or X&gt;=168) hides the sprite, but the sprite still affects the priority ordering - a better way to hide a sprite is to set its Y-coordinate offscreen. </td></tr>
    <tr><td class="paramname">y</td><td>Y Position. Specifies the sprites vertical position on the screen (minus 16). <br  />
 An offscreen value (for example, Y=0 or Y&gt;=160) hides the sprite.</td></tr>
  </table>
  </dd>
</dl>
<p>Moving the sprite to 0,0 (or similar off-screen location) will hide it. </p>

</div>
</div>
<a id="a6c59aa9a4f9ea42bed6ca6940b2741fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c59aa9a4f9ea42bed6ca6940b2741fe">&#9670;&nbsp;</a></span>scroll_sprite()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void scroll_sprite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aef44329758059c91c76d334e8fc09700">int8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Moves sprite number <b>nb</b> relative to its current position.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
    <tr><td class="paramname">x</td><td>Number of pixels to move the sprite on the <b>X axis</b> <br  />
 Range: -128 - 127 </td></tr>
    <tr><td class="paramname">y</td><td>Number of pixels to move the sprite on the <b>Y axis</b> <br  />
 Range: -128 - 127</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="sms_8h.html#ab42c12c1d9aed3fd963248fbea9830cd">move_sprite</a> for more details about the X and Y position </dd></dl>

</div>
</div>
<a id="ad22c51635d052399bbbe1777999c794d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad22c51635d052399bbbe1777999c794d">&#9670;&nbsp;</a></span>hide_sprite()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void hide_sprite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>nb</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Hides sprite number <b>nb</b> by moving it to zero position by Y.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nb</td><td>Sprite number, range 0 - 39 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afe1bc7117a68cd0939c2d03baaa06b89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe1bc7117a68cd0939c2d03baaa06b89">&#9670;&nbsp;</a></span>set_vram_byte()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void set_vram_byte </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *&#160;</td>
          <td class="paramname"><em>addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>v</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set byte in vram at given memory location</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">addr</td><td>address to write to </td></tr>
    <tr><td class="paramname">v</td><td>value </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a476f433ea736a1dd610490238f2a6250"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a476f433ea736a1dd610490238f2a6250">&#9670;&nbsp;</a></span>set_attributed_tile_xy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* set_attributed_tile_xy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a>&#160;</td>
          <td class="paramname"><em>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set single tile t with attributes on background layer at x,y </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>X-coordinate </td></tr>
    <tr><td class="paramname">y</td><td>Y-coordinate </td></tr>
    <tr><td class="paramname">t</td><td>tile index </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte()</a> later </dd></dl>

</div>
</div>
<a id="a5834057f6297c0fa8f8e9a6b714f1ff7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5834057f6297c0fa8f8e9a6b714f1ff7">&#9670;&nbsp;</a></span>set_tile_xy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* set_tile_xy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>t</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Set single tile t on background layer at x,y </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>X-coordinate </td></tr>
    <tr><td class="paramname">y</td><td>Y-coordinate </td></tr>
    <tr><td class="paramname">t</td><td>tile index </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the address of tile, so you may use faster <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte()</a> later </dd></dl>

</div>
</div>
<a id="a894d9359851846028d9974471922cb1e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a894d9359851846028d9974471922cb1e">&#9670;&nbsp;</a></span>set_attribute_xy()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* set_attribute_xy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>a</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set single attribute data a on background layer at x,y </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>X-coordinate </td></tr>
    <tr><td class="paramname">y</td><td>Y-coordinate </td></tr>
    <tr><td class="paramname">a</td><td>tile attributes </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>returns the address of tile attribute, so you may use faster <a class="el" href="sms_8h.html#afe1bc7117a68cd0939c2d03baaa06b89">set_vram_byte()</a> later </dd></dl>

</div>
</div>
<a id="a66b4bfb8c1ea3005ff01ce040a778e63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66b4bfb8c1ea3005ff01ce040a778e63">&#9670;&nbsp;</a></span>get_bkg_xy_addr()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* get_bkg_xy_addr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get address of X,Y tile of background map </p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a735fc9fb4f089391a584293f2dff1008"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a735fc9fb4f089391a584293f2dff1008">&#9670;&nbsp;</a></span>_BIOS</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="asm_2types_8h.html#a280213815420791851f7e59bdc8a3c95">UBYTE</a> _BIOS</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a78fd7730ed37db84f52bcfc9ff41873f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78fd7730ed37db84f52bcfc9ff41873f">&#9670;&nbsp;</a></span>_SYSTEM</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _SYSTEM</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a0b3366755f3276b0243c1e0497471b7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0b3366755f3276b0243c1e0497471b7a">&#9670;&nbsp;</a></span>c</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void c</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a0a3d95ad0ab8ad213016101d2e9c3d3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a3d95ad0ab8ad213016101d2e9c3d3e">&#9670;&nbsp;</a></span>d</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void d</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aeda4515a31485c9688c4601ac5ce2d79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeda4515a31485c9688c4601ac5ce2d79">&#9670;&nbsp;</a></span>e</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void e</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aade844cba18122ad48cb2f92b1c87ab0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aade844cba18122ad48cb2f92b1c87ab0">&#9670;&nbsp;</a></span>iyh</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void iyh</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af279c752a3b15c4bd5c67f54b92e553f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af279c752a3b15c4bd5c67f54b92e553f">&#9670;&nbsp;</a></span>iyl</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> iyl</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">{</div>
<div class="line">    __asm__(<span class="stringliteral">&quot;ei&quot;</span>)</div>
</div><!-- fragment -->
</div>
</div>
<a id="aba4fa6f13f80e53daeb0caa7b1ec8afb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba4fa6f13f80e53daeb0caa7b1ec8afb">&#9670;&nbsp;</a></span>h</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void h</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af79b920bcb642bba2e652874c4f7eeff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af79b920bcb642bba2e652874c4f7eeff">&#9670;&nbsp;</a></span>l</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void l</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a78d2fd18666afec116f176d46debb4e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78d2fd18666afec116f176d46debb4e7">&#9670;&nbsp;</a></span>sys_time</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> sys_time</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Global Time Counter in VBL periods (60Hz)</p>
<p>Increments once per Frame</p>
<p>Will wrap around every ~18 minutes (unsigned 16 bits = 65535 / 60 / 60 = 18.2) </p>

</div>
</div>
<a id="a379ebafd4dc456a9a0c10290bb38fe7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a379ebafd4dc456a9a0c10290bb38fe7c">&#9670;&nbsp;</a></span>_vbl_done</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _vbl_done</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Flag indicating the VBlank ISR has run</p>
<p>Flag gets cleared at the start of <a class="el" href="gb_8h.html#af57b77452ef377da18e4fbf0288013d1">vsync()</a> / <a class="el" href="gb_8h.html#a815f8ecad32d14b786a8ed1168518773">wait_vbl_done()</a> and set in the default VBlank ISR handler. </p>

</div>
</div>
<a id="a4c2e4adef74067fdbb49005bc73de937"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c2e4adef74067fdbb49005bc73de937">&#9670;&nbsp;</a></span>b</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void b</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a22dc57e538f0f49e2dc7d1c73f67fc8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22dc57e538f0f49e2dc7d1c73f67fc8f">&#9670;&nbsp;</a></span>_current_2bpp_palette</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> _current_2bpp_palette</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a250f5339e05523912926be566e9eb8c0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a250f5339e05523912926be566e9eb8c0">&#9670;&nbsp;</a></span>_current_1bpp_colors</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#adf4d876453337156dde61095e1f20223">uint16_t</a> _current_1bpp_colors</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="aa82205e9629f984d0b3dc8055c211522"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa82205e9629f984d0b3dc8055c211522">&#9670;&nbsp;</a></span>_map_tile_offset</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _map_tile_offset</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab472d9bbb1bcfd141374f5babc71934c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab472d9bbb1bcfd141374f5babc71934c">&#9670;&nbsp;</a></span>_submap_tile_offset</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _submap_tile_offset</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="af02f9e73bd894cc25e03aedb0a10a91d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af02f9e73bd894cc25e03aedb0a10a91d">&#9670;&nbsp;</a></span>shadow_OAM</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> shadow_OAM[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Shadow OAM array in WRAM, that is transferred into the real OAM each VBlank </p>

</div>
</div>
<a id="a5435fd985412934e96a490e103c6bc49"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5435fd985412934e96a490e103c6bc49">&#9670;&nbsp;</a></span>_shadow_OAM_base</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _shadow_OAM_base</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>MSB of shadow_OAM address is used by OAM copying routine</p>
<p>MSB of shadow_OAM address is used by OAM DMA copying routine </p>

</div>
</div>
<a id="a388d1dff2698172ba8574e43f5c77c93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a388d1dff2698172ba8574e43f5c77c93">&#9670;&nbsp;</a></span>_shadow_OAM_OFF</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _shadow_OAM_OFF</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Flag for disabling of OAM copying routine</p>
<p>Values: </p><ul>
<li>1: OAM copy routine is disabled (non-isr VDP operation may be in progress) </li>
<li>0: OAM copy routine is enabled</li>
</ul>
<p>This flag is modified by all sms/gg GBDK API calls that write to the VDP. It is set to DISABLED when they start and ENABLED when they complete.</p>
<dl class="section note"><dt>Note</dt><dd>It is recommended to avoid writing to the Video Display Processor (VDP) during an interrupt service routine (ISR) since it can corrupt the VDP pointer of an VDP operation already in progress.</dd></dl>
<p>If it is necessary, this flag can be used during an ISR to determine whether a VDP operation is already in progress. If the value is <code>1</code> then avoid writing to the VDP (tiles, map, scrolling, colors, etc).</p>
<div class="fragment"><div class="line"><span class="comment">// at the beginning of and ISR that would write to the VDP</span></div>
<div class="line"><span class="keywordflow">if</span> (<a class="code" href="msx_8h.html#a388d1dff2698172ba8574e43f5c77c93">_shadow_OAM_OFF</a>) <span class="keywordflow">return</span>;</div>
<div class="ttc" id="amsx_8h_html_a388d1dff2698172ba8574e43f5c77c93"><div class="ttname"><a href="msx_8h.html#a388d1dff2698172ba8574e43f5c77c93">_shadow_OAM_OFF</a></div><div class="ttdeci">volatile uint8_t _shadow_OAM_OFF</div></div>
</div><!-- fragment --><dl class="section see"><dt>See also</dt><dd><a class="el" href="docs_supported_consoles.html#docs_consoles_safe_display_controller_access">docs_consoles_safe_display_controller_access</a> </dd></dl>

</div>
</div>
<a id="a536a0cd7b1a9340eec355d60bd0348cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a536a0cd7b1a9340eec355d60bd0348cc">&#9670;&nbsp;</a></span>_sprites_OFF</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">volatile <a class="el" href="stdint_8h.html#aba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> _sprites_OFF</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">extern</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
</div>
</body>
</html>
